ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

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

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

03.07.2009, 16:23
|
|
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме: 956872
Репутация:
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
Провел на форуме: 984248
Репутация:
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
Провел на форуме: 1354067
Репутация:
599
|
|
Ru}{eeZ
не читайте подбельского. "как прогарммировать на с++" или "Освой самостоятельно C++ за 21 день" одни из лучших книжек для начинающих.
|
|
|

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

04.07.2009, 00:59
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
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
Провел на форуме: 583734
Репутация:
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
Провел на форуме: 2868783
Репутация:
414
|
|
"как прогарммировать на с++" или "Освой самостоятельно C++ за 21 день" одни из лучших книжек для начинающих.
"Освой самостоятельно C++ за 21 день" - имхо более бредового издания я еще не видел, если начать с него то там уйдет далеко за 21 день и в голове будет одна каша. Лучше уже начинать с Шилдта, все довольно грамотно написано и вполне понятно для новичков )
|
|
|

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