 |
|

30.06.2009, 20:30
|
|
Познающий
Регистрация: 20.05.2009
Сообщений: 52
С нами:
8935109
Репутация:
78
|
|
XikarO, по-моему там все вполне четко объяснено. Конструкторы по умолчанию, конструкторы копирования все есть. Может ты просто поленился? )
Да нет скорее немного торможу))
|
|
|

01.07.2009, 00:57
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами:
10386906
Репутация:
599
|
|
подбельского не читайте. его атипичное именование переменных встроенных типов объектами - это ппц. нельзя такое новичкам давать. портит моск. читайте дейтела.
по поводу конструкторов - есть такой паттерн как RAII. он напрямую связан с конструкторами и деструкторами. не все так просто, как кажется на первый взгляд.
|
|
|

03.07.2009, 16:23
|
|
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
С нами:
9591561
Репутация:
186
|
|
Начал изучать си++, помогите разобраться, читаю книгу Подбельского 2006ого года, примеры из неё не идут, допустим первый пример содержет:
#include <iostream.h>
с этим не работает, но если я заменю это на:
#include <iostream>
using namespace std;
то работает нормально, с чем это связано? Может с тем, что на момент выхода книги что-то подругому было?
Прогаю через Microsoft Visual C++ 2008 Express Edition.
|
|
|

03.07.2009, 16:35
|
|
Познающий
Регистрация: 15.03.2009
Сообщений: 77
С нами:
9030397
Репутация:
73
|
|
Вот основные отличия <iostream> от <iostream.h>:
1. <iostream> содержит щаблоны классы, которые поддерживают как обычные символы (char), так и "широкие" юникодные (wchar_t). <iostream.h> поддерживает только обычные символы.
2. Интерфейс <iostream> менялся с течением времени - в ходе естественного развития языка C++ и Standard C++ library. Интерфейс <iostream.h> остаётся неизменным уже давно.
3. Классы из <iostream> входят в пространство имён std, в то время как классы из <iostream.h> находятся в глобальном пространстве имён.
Так же
используйте <iostream>, т.к. <iostream.h> официально не поддерживается и может пропасть в будущих версиях реализаций Standard C++ library. Более того, расширение .h для файлов Standard C++ library не используется уже почти 10 лет.
Что и произошло
Последний раз редактировалось Mozy; 03.07.2009 в 16:38..
|
|
|

03.07.2009, 16:41
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами:
10386906
Репутация:
599
|
|
Ru}{eeZ
не читайте подбельского. "как прогарммировать на с++" или "Освой самостоятельно C++ за 21 день" одни из лучших книжек для начинающих.
|
|
|

03.07.2009, 20:55
|
|
Познающий
Регистрация: 07.05.2009
Сообщений: 64
С нами:
8953743
Репутация:
59
|
|
2Ru}{eeZ
#include <iostream.h> - старый стиль включения файлов.
#include <iostream> - включение заголовка библиотеки(работает в новых компиляторвх).
|
|
|

04.07.2009, 00:59
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
С нами:
10535289
Репутация:
107
|
|
Плз помогите преобразовать этот кусочек кода к виду который переварит вижуал студио.
Код:
SAFEARRAY* writeSpeedsArray = NULL;
HRESULT hResult = discFormat2Data->get_SupportedWriteSpeeds(&writeSpeedsArray)
if (SUCCEEDED(hResult))
{
ULONG totalWriteSpeeds = (&writeSpeedsArray)->rgsabound[0].cElements;
for (ULONG writeSpeedIndex = 0; writeSpeedIndex < totalWriteSpeeds; writeSpeedIndex++)
{
ULONG sectorsPerSecond = ((VARIANT*)(&writeSpeedsArray)->pvData))[writeSpeedIndex].ulVal;
}
}
Я пытался но у меня на последней строчке облом  Никак непойу что там за преобразование
Код:
SAFEARRAY *ss;
FD->get_SupportedWriteSpeeds(&ss);
ULONG totalWriteSpeeds =(ULONG)&ss->rgsabound[0].cElements;
for (ULONG writeSpeedIndex = 0; writeSpeedIndex < totalWriteSpeeds; writeSpeedIndex++)
{
ULONG sectorsPerSecond = ((VARIANT*)&ss->pvData))[writeSpeedIndex].ulVal;
cout<<sectorsPerSecond<<endl;
}
}
|
|
|

04.07.2009, 13:52
|
|
Познающий
Регистрация: 26.02.2009
Сообщений: 65
С нами:
9054681
Репутация:
34
|
|
Ругнулось только на FD, а так была одна лишняя фигурная и обычная скобки.
вот исправленный код:
Код:
SAFEARRAY *ss;
FD->get_SupportedWriteSpeeds(&ss);
ULONG totalWriteSpeeds =(ULONG)&ss->rgsabound[0].cElements;
for (ULONG writeSpeedIndex = 0; writeSpeedIndex < totalWriteSpeeds; writeSpeedIndex++)
{
ULONG sectorsPerSecond = ((VARIANT*)&ss->pvData)[writeSpeedIndex].ulVal;
cout<<sectorsPerSecond<<endl;
}
Последний раз редактировалось \\ChaOs//; 04.07.2009 в 13:56..
|
|
|

04.07.2009, 14:53
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
С нами:
9017461
Репутация:
414
|
|
"как прогарммировать на с++" или "Освой самостоятельно C++ за 21 день" одни из лучших книжек для начинающих.
"Освой самостоятельно C++ за 21 день" - имхо более бредового издания я еще не видел, если начать с него то там уйдет далеко за 21 день и в голове будет одна каша. Лучше уже начинать с Шилдта, все довольно грамотно написано и вполне понятно для новичков )
|
|
|

04.07.2009, 14:58
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами:
10216668
Репутация:
930
|
|
razb, ты, видимо, не читал эту книгу ) кроме названия в ней ничего странного нет, для новичка отлично подойдет. У Шилдта довольно много книг и не все из них хорошие, так что надо выбирать.
|
|
|
|
 |
|
|
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
|
|
|
|