Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Вниз

По C++ вопрос будет, не бейте сильно :о)   Найти похожие ветки 

 
Ega23 ©   (2004-03-25 10:42) [0]

В перечисляемом типе (enum) каждому значению присваивается некий номер.
Вопрос: какого типа это целое число, short или long?


 
Dmitriy O. ©   (2004-03-25 10:44) [1]

LONG


 
Verg ©   (2004-03-25 10:44) [2]

Это поле - типа enum


 
Ega23 ©   (2004-03-25 10:45) [3]

т.е. 4 байта...
Ясно, спасибо.


 
Игорь Шевченко ©   (2004-03-25 10:48) [4]

Зависит от настроек компилятора. Либо 2 байта, либо 4


 
Verg ©   (2004-03-25 10:48) [5]


> [3] Ega23 ©   (25.03.04 10:45)
> т.е. 4 байта...
> Ясно, спасибо.


Счастливого пути до первого же "залета"


 
Ega23 ©   (2004-03-25 10:56) [6]

Счастливого пути до первого же "залета"

А поумнее чего-нибудь сказать не судьба?


 
gek ©   (2004-03-25 11:11) [7]

Игорь Шевченко ©   (25.03.04 10:48) [4]

Тебе правильно объяснил


 
Verg ©   (2004-03-25 11:13) [8]


> [6] Ega23 ©   (25.03.04 10:56)
> А поумнее чего-нибудь сказать не судьба?


"Умнее", чем ты можешь сказать, уже невозможно.


 
Ega23 ©   (2004-03-25 11:24) [9]

"Умнее", чем ты можешь сказать, уже невозможно.

Объясню. Мне требовалось узнать длину индекса, присваиваемого элементу в перечисляемом типе (Игорь Шевченко ©   (25.03.04 10:48) [4], Спасибо).

Вы мне выдали  "Это поле - типа enum". Замечательный ответ, а если учесть, что с С++ я знаком неделю (и когда-то очень давно в универе что-то читали), то получается вовсе содержательный.

Дальше шло "Счастливого пути до первого же "залета"" - вообще не понял фразу. Если Вы действительно так хорошо знаете С++, то можно было бы отписать сколько это байт. На крайняк дать ссылку в MSDN.


 
Verg ©   (2004-03-25 11:30) [10]


> было бы отписать сколько это байт. На крайняк дать ссылку
> в MSDN.


Не надо ничего объяснять!!!

Есть такая фишка - sizeof()

Неужели не понятно - чего вас, программирующих на языках высокого уровня, все тянет узнать "канкретное чиселко - 2, 4, 6 или 1"?


 
Ega23 ©   (2004-03-25 11:36) [11]

Есть такая фишка - sizeof()

Замечательный ответ! Так и надо отвечать: "Напиши тестовую программку и посмотри sizeof()".
А сразу так нельзя было, а?


 
Ega23 ©   (2004-03-25 11:37) [12]

Игорь Шевченко ©   (25.03.04 10:48) [4]
Зависит от настроек компилятора. Либо 2 байта, либо 4

А где это посмотреть можно?


 
Verg ©   (2004-03-25 11:38) [13]


> [11] Ega23 ©   (25.03.04 11:36)


Жизни будешь учить?
Как надо отвечать - как не надо отвечать: тебе ли решать?


 
Игорь Шевченко ©   (2004-03-25 11:44) [14]

Ega23 ©   (25.03.04 11:37)


> Зависит от настроек компилятора. Либо 2 байта, либо 4
>
> А где это посмотреть можно?


Обычно в help"е по компилятору.


 
Ega23 ©   (2004-03-25 11:46) [15]

Это к вопросу об ответах "мастеров". Было тут несколько веток на эту тему, можете поискать, если хочется.


 
Verg ©   (2004-03-25 11:56) [16]


> [15] Ega23 ©   (25.03.04 11:46)


Не, ну надо же - он так нихрена и не понял...


 
Думкин ©   (2004-03-25 11:59) [17]

> Verg ©   (25.03.04 11:30) [10]
> Неужели не понятно - чего вас, программирующих на языках
> высокого уровня, все тянет узнать "канкретное чиселко -
> 2, 4, 6 или 1"?

Вас - это кого? А сам чиста на АСМе только сидишь?


 
Ega23 ©   (2004-03-25 12:04) [18]

Не, ну надо же - он так нихрена и не понял...

Нет. Не понял. Вразумительного Вы пока ничего не сказали (кроме sizeof()). Объяснитесь.


 
Polevi ©   (2004-03-25 12:07) [19]

>Ega23 ©   (25.03.04 12:04) [18]
вместо спасибо требуешь объяснений, вот и помогай после этого
Это к вопросу об ответах "мастеров"


 
Ega23 ©   (2004-03-25 12:08) [20]

2 Игорь Шевченко ©
Насколько я понял, это что-то типа /MTd /W3 /Gm /GX /ZI /Od должно быть? Вроде пробежал по всем директивам проекта, но ничего не нашёл. Из какого хоть раздела директив смотреть?


 
DiamondShark ©   (2004-03-25 12:12) [21]


> Verg ©   (25.03.04 11:30) [10]
>
> > было бы отписать сколько это байт. На крайняк дать ссылку
>
> > в MSDN.
>
>
> Не надо ничего объяснять!!!
>
> Есть такая фишка - sizeof()
>
> Неужели не понятно - чего вас, программирующих на языках
> высокого уровня, все тянет узнать "канкретное чиселко -
> 2, 4, 6 или 1"?


Ну, например, для того чтобы перевести с одного языка на другой.
В паскале, например, нет енумов с произвольно назначаемыми значениями. Зато есть числовые типы разных размеров.
А это может оказаться хедер к какой-то библиотеке, которой вообще нет дела до языков, из которых её вызывают, но она ожидает структуры определённой длины.

Иногда, прежде чем пальцевать, желательно подумать.


 
Ega23 ©   (2004-03-25 12:19) [22]

Polevi ©   (25.03.04 12:07) [19]
Спасибо было. Посты №3, 9 и 11. И, чувствую, ещё будет.
Просто обидно. Да, я не знаю С++. Только осваиваю. Я не знаю синтаксиса функций, я пока ещё плохо разбираюсь в структуре проекта, я постоянно забываю про Case Sensitive у переменных и т.п. (короче весь набор того, что может возникнуть у человека за 5 лет привыкшего к Delphi). На форум с вопросом полез не сразу, сначала поискал в MSDN, не нашёл, спроси здесь. И пожалуйста....


 
Игорь Шевченко ©   (2004-03-25 12:22) [23]

Ega23 ©   (25.03.04 12:08)

Для Borland C++, например, -b

Смотрится в разделе "Code Generation"


 
Ega23 ©   (2004-03-25 12:22) [24]

Ну, например, для того чтобы перевести с одного языка на другой.
В паскале, например, нет енумов с произвольно назначаемыми значениями. Зато есть числовые типы разных размеров.
А это может оказаться хедер к какой-то библиотеке, которой вообще нет дела до языков, из которых её вызывают, но она ожидает структуры определённой длины.

Иногда, прежде чем пальцевать, желательно подумать.

Совершенно правильно! Элемент этого перечисляемого типа будет входить одним из параметров в функцию DLL, которую я как раз и пишу на С++. А вызывается эта DLL из проекта Delphi. вот я и хотел убедиться, что размер индекса перечисляемого типа в Delphi и C++ совпадают (или не совпадают).


 
Игорь Шевченко ©   (2004-03-25 12:30) [25]


> Элемент этого перечисляемого типа будет входить одним из
> параметров в функцию DLL, которую я как раз и пишу на С++.
> А вызывается эта DLL из проекта Delphi. вот я и хотел убедиться,
> что размер индекса перечисляемого типа в Delphi и C++ совпадают
> (или не совпадают).


Integer (4 байта)


 
Игорь Шевченко ©   (2004-03-25 12:33) [26]

Ega23 ©   (25.03.04 12:22)


> Элемент этого перечисляемого типа будет входить одним из
> параметров в функцию DLL, которую я как раз и пишу на С++.
> А вызывается эта DLL из проекта Delphi


Это военная тайна, которую нельзя было сказать с самого начала ?
Тогда бы и ответ был бы в первых постах, и флейма бы никакого не было.

Учитесь задавать вопросы, уважаемый.


 
Ega23 ©   (2004-03-25 12:38) [27]

Это военная тайна, которую нельзя было сказать с самого начала ?
Тогда бы и ответ был бы в первых постах, и флейма бы никакого не было.

Нет, не военная тайна. А что, если элемент из enum идёт "вовне" его размер при этом может измениться? :о)


 
Verg ©   (2004-03-25 12:40) [28]


> Ну, например, для того чтобы перевести с одного языка на
> другой.
> В паскале, например, нет енумов с произвольно назначаемыми
> значениями. Зато есть числовые типы разных размеров.
> А это может оказаться хедер к какой-то библиотеке, которой
> вообще нет дела до языков, из которых её вызывают, но она
> ожидает структуры определённой длины.
>
> Иногда, прежде чем пальцевать, желательно подумать.


Именно - подумать.
и/или просто вспомнить:

Шла речь конечно же именно про паскаль :))))

type
 A = (fA, fB, fC);

type
 tA = (fA = 45, fB, fC, fD); - это уже Дельфи 6 :) 45 - это конечно пальцовка или "ошибка компилятора"?

Ага, значит при
Z : tA;

будем getMem(Z, 4*<сколько надо tA-тов>) (4 - взялось от "написания тестовой прграммки с sizeof" :)) ), а не
getMem(Z, sizeof(Z)*<сколько надо tA-tов>)

Так что ли?

Ну так тогда  "пальцуйтесь" сами, господа.
Как говорит Игорь - LMD


 
Игорь Шевченко ©   (2004-03-25 12:43) [29]

Ega23 ©   (25.03.04 12:38)

Размер параметра перечислимого типа - 4 байта. Я не думаю, что число перечислений в Enum будет слишком большим, чтобы возникли какие-то проблемы.


 
Ega23 ©   (2004-03-25 12:44) [30]

type
A = (fA, fB, fC);

type
tA = (fA = 45, fB, fC, fD); - это уже Дельфи 6 :) 45 - это конечно пальцовка или "ошибка компилятора"?

Ага, значит при
Z : tA;

будем getMem(Z, 4*<сколько надо tA-тов>) (4 - взялось от "написания тестовой прграммки с sizeof" :)) ), а не
getMem(Z, sizeof(Z)*<сколько надо tA-tов>)

Пардон, а это на каком языке написано?


 
Ega23 ©   (2004-03-25 12:45) [31]

Размер параметра перечислимого типа - 4 байта. Я не думаю, что число перечислений в Enum будет слишком большим, чтобы возникли какие-то проблемы.

Спасибо. Число перечислений в Enum действительно будет порядка 20.
Но, блин, я же теперь не успокоюсь, пока описание этой директивы компилятору не найду!  :о)


 
DiamondShark ©   (2004-03-25 13:11) [32]


> Verg ©   (25.03.04 12:40) [28]

А где было про дельфи 6? Я что-то пропустил, не прочитал?

А что касательно выделенного жирным... Дык, эта... Кто-то утвеждал, что знать размер типов вообще нафиг не надо.

ЗЫ
Кстати, а sizeof(tA) -- это сикока будет?


 
Verg ©   (2004-03-25 13:13) [33]


> Кстати, а sizeof(tA) -- это сикока будет?


Дэсять


 
Ega23 ©   (2004-03-25 13:18) [34]

2 Verg ©

Так на каком языке был написан пост [28]?


 
Verg ©   (2004-03-25 13:25) [35]


> [34] Ega23 ©   (25.03.04 13:18)
> 2 Verg ©
>
> Так на каком языке был написан пост [28]?


Зачем тебе? - Ты все равно его не знаешь.

Продолжайте подставлять циферки, друг мой...


 
Ega23 ©   (2004-03-25 13:30) [36]

Зачем тебе? - Ты все равно его не знаешь.

Уходим от ответа? Я самый умный, а вы все дураки?
Воистину LMD.


 
Verg ©   (2004-03-25 13:36) [37]


> [36] Ega23 ©   (25.03.04 13:30)
> Зачем тебе? - Ты все равно его не знаешь.
>
> Уходим от ответа?


Воистину так.

Мне - не надо, как тебе - не знаю.

Я все сказал: кому очень надо, тот все поймет.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.031 c
4-1076514190
Timego
2004-02-11 18:43
2004.04.18
CLSID COM-объекта по полному пути к его dll-файлу


3-1080028834
DmitryNekl
2004-03-23 11:00
2004.04.18
Как эмулировать связь между таблицами "master-detail"


14-1079863601
Goida
2004-03-21 13:06
2004.04.18
Глюки, глюки, глюки!!!! Форум не обновляется!..


7-1077125568
Status
2004-02-18 20:32
2004.04.18
Добавить свою прграмму в "Пуск->Выполнить"


7-1077001550
Фикус
2004-02-17 10:05
2004.04.18
NT и HDD





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский