Hекто Джефф Элджер в своей книге "C++ for Real Programmers" сказал:
начало цитаты:
Стековые и динамические объекты
Иногда мне кажется, что C++ лучше изучать без предварительного знакомства с C.
В C++ часто используются те же термины, что и в С, но за ними кроются
совершенно иной смысл и правила применения. Hапример, возьмем примитивный целый
тип.
int x = 17;
В C++ это будет экземпляр встроенного <класса> int. В С это будет... просто
int. Встроенные классы имеют свои конструкторы. У класса int есть конструктор с
одним аргументом, который инициализирует объект передаваемым значением.
Теоретически существует и деструктор, хотя он ничего не делает и ликвидируется
всеми нормальными разработчиками компиляторов в процессе оптимизации. Важно
осознать, что встроенные типы за очень редкими исключениями подчиняются тем
же базовым правилам, что и ваши расширенные типы.
Вы должны понимать эту теоретическую особенность C++, чтобы правильно
относиться к стековым и динамическим объектам и связанным с ними переменным.
конец цитаты.
кто что может сказать по этому поводу?
С пожеланиями, Nikolay
> В C++ часто используются те же термины, что и в С, но за ними кроются
> совершенно иной смысл и правила применения. Hапример, возьмем примитивный
> целый
> тип.
> int x = 17;
> В C++ это будет экземпляр встроенного <класса> int. В С это будет...
> просто
> int. Встроенные классы имеют свои конструкторы. У класса int есть
> конструктор с
AFAIK эта книга есть практически перепечатка
издания 95 года, так что не мудрено, что автор
ошибается в тонкостях
Cheers,
Serge
NP> В C++ часто используются те же термины, что и в С, но за ними
NP> кроются
NP> совершенно иной смысл и правила применения. Hапример, возьмем
NP> примитивный целый
NP> тип.
NP> int x = 17;
NP> В C++ это будет экземпляр встроенного <класса> int. В С это будет...
NP> просто
NP> кто что может сказать по этому поводу?
гм, интересно, как в том же билдере реализвано..
а может это просто от реализации С++ зависит?
По крайней мере в C# (MSVS2005), наверно едва ли не все типы - классы:
int val = int.Parse("123");
>
> гм, интересно, как в том же билдере реализвано..
> а может это просто от реализации С++ зависит?
> По крайней мере в C# (MSVS2005), наверно едва ли не все типы - классы:
> int val = int.Parse("123");
А причем тут С++?
Или по твоему шарп это такая реализация стандарта С++?
--
avg
AG> 30.10.2007 at 13:54:13 Evgeny Narumov wrote:
>> гм, интересно, как в том же билдере реализвано..
>> а может это просто от реализации С++ зависит?
>> По крайней мере в C# (MSVS2005), наверно едва ли не все типы - классы:
>> int val = int.Parse("123");
AG> А причем тут С++?
да не причом. просто пример. речь про реализцаию.