Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему все любят С++? 
:(
    Опции темы
batigoal
Дата 20.7.2005, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 4
Всего: 151



Цитата(Sniper @ 20.7.2005, 15:47)
Каардинально отличается от паскаля СИ тем, что в нем есть шаблоны, которые все хвалят, но ниодна нормальная компания (главное словосочетание здесь ниодна нормальная, а не компания =) их не применяет... ещё есть STL.. но так как в Pascal шаблонов нет, то и STL нет по определению...

После таких фраз принято добавлять ИМХО. Потому что это имхо чистой воды.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Sniper
Дата 20.7.2005, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



>>После таких фраз принято добавлять ИМХО. Потому что это имхо чистой воды.
Наверное вы не видели исходников HL2.. а вот я видел (только видел их у меня нет)
Но я туту же обратил внимание, что не используется ни boost ни stl, ни ещё чего лишнего...
размеется Q1,2,3 были написаны также без применения вышеозначенных библиотек.
Так что это никакое не имхо...

Цитата(Lamer @ 20.7.2005, 11:49)
есть STL.. но так как в Pascal шаблонов нет, то и STL нет по определению...

Это тоже не имхо, тут бесполезно спорить... факт

Цитата(Lamer @ 20.7.2005, 11:49)
Каардинально отличается от паскаля СИ тем, что в нем есть шаблоны, которые все хвалят

ИМХО есть только во здесь..


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Mayk
Дата 20.7.2005, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Цитата(Sniper @ 20.7.2005, 16:19)
Q1,2,3

q1 и 2 не могли использовать stl/boost, так как были написаны на Си без плюсов(исходники ку1-2 можно скачать на ftp.idsoftware.com). Ку3 афаик тоже. В сдк-шке во-всяком случае только сишные файлы.


Это сообщение отредактировал(а) Mayk - 20.7.2005, 15:56


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
CosmoMan
Дата 20.7.2005, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 12.7.2005
Где: Харьков

Репутация: нет
Всего: 0



Мне в C++ не нравится то, что необходимо постоянно отслеживать операции с указателями. Для того, чтобы объявить двумерный динамический массив в с++, надо написать:

int ***m = new int **[2];
for(int i=0;i<1;i++)
{
m[i] = new int *[1];
for(int j=0;j<1;j++)
{
m[i][j] = new int [1];
}
}
delete[]m;
А вот для любителей С:

a=(long ***)calloc(10,sizeof(long **));
for(int i=0;i<10;i++)
{
a[i]=(long ***)calloc(10,sizeof(long *));
for(int j=0;j<5;j++)
{
a[i][j]=(long *)calloc(5,sizeof(long ));
}
}

в Object Pascal:
var m :array of array of Integer; //мне так больше нравится
bagin
SetLength(m,10);
for i := 1 to 10 do SetLength(m[i],10);
SetLength(m,0); //освободили память
end;//тут и понимать ни чего не надо

Все! А потом работаеш как с обычным массивом! А не с указателями.
PM MAIL   Вверх
S.A.P.
Дата 20.7.2005, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 1
Всего: 71



CosmoMan зато у тебя будет приличная оптимизация, а если не устраивает такой "изврат", юзай контейнеры.
PM MAIL   Вверх
Петрович
Дата 20.7.2005, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 2
Всего: 55



Цитата(Perchilla @ 20.7.2005, 17:26)
CosmoMan зато у тебя будет приличная оптимизация, а если не устраивает такой "изврат", юзай контейнеры.

Дык в Delphi такое дает ОЧЕНЬ оптимизированный код.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
S.A.P.
Дата 21.7.2005, 03:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 1
Всего: 71



Цитата(CosmoMan @ 20.7.2005, 16:21)
int ***m = new int **[2];
for(int i=0;i<1;i++)
{
m[i] = new int *[1];
for(int j=0;j<1;j++)
{
m[i][j] = new int [1];
}
}
delete[]m;
А вот для любителей С:

a=(long ***)calloc(10,sizeof(long **));
for(int i=0;i<10;i++)
{
a[i]=(long ***)calloc(10,sizeof(long *));
for(int j=0;j<5;j++)
{
a[i][j]=(long *)calloc(5,sizeof(long ));
}
}


CosmoMan А я даже и не заметил сразу, вот и верь после этого. А ты зачем в C++ трехмерный массив сделал, когда по условию двумерный требуется? Да еще лишних строк понавтыкал smile

Код

int** array = new int*[M];
for (int a = 0; a<M; array[a++] = new int[N]){};

Ощути разницу.

Можно даже так
Код

for (int a = 0, int **array = new int*[M] ; a<M; array[a++] = new int[N]){}

сколько преимуществ в маленьком примере:
1. Операция следования
2. Объявление и инициализация переменных в програмном блоке
3. Инкрементирование
4. Результат операции присваивания
5. Циклы!!!

Хотя мне болше по душе
Код

std::vector<std::vector<int>> array;

smile

Это сообщение отредактировал(а) Perchilla - 21.7.2005, 03:48
PM MAIL   Вверх
batigoal
Дата 21.7.2005, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 4
Всего: 151



Цитата
for (int a = 0, int **array = new int*[M] ; a<M; array[a++] = new int[N]){}


К вопросу о читабельности кода smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Retro
Дата 21.7.2005, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Диалектик
***


Профиль
Группа: Участник Клуба
Сообщений: 1934
Регистрация: 28.6.2005
Где: Киев

Репутация: 1
Всего: 117



Цитата(Lamer @ 21.7.2005, 09:06)
К вопросу о читабельности кода smile

А что? smile
PM MAIL   Вверх
batigoal
Дата 21.7.2005, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 4
Всего: 151



Цитата(Retro @ 21.7.2005, 10:26)
А что? smile

Да вот туговато как-то воспринимается. smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Mayk
Дата 21.7.2005, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Цитата

for (int a = 0, int **array = new int*[M] ; a<M; array[a++] = new int[N]){}

Вот это не будет работать правильно, так как array определен лишь внутри тела цикла, которое весьма тривиально: {}


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
batigoal
Дата 21.7.2005, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 4
Всего: 151



Вот видите - уже труднообнаружимые ошибки smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
ManiaK
Дата 21.7.2005, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 2
Всего: 29



Lamer George Я понял! smile
Java - это как новая религия! Распространяется при зарождении быстро, причём тут же обрастает толпой воодушевлённых фанатиков, которые пойдут на всё лишь бы перетащить на свою сторону по-больше народу!
Не выйдет smile
PM MAIL WWW   Вверх
batigoal
Дата 21.7.2005, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 4
Всего: 151



Цитата(ManiaK @ 21.7.2005, 11:35)
Не выйдет smile

Уже вышло smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Mayk
Дата 21.7.2005, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Цитата(ManiaK @ 21.7.2005, 11:35)
Java - это как новая религия! Распространяется при зарождении быстро, причём тут же обрастает толпой воодушевлённых фанатиков, которые пойдут на всё лишь бы перетащить на свою сторону по-больше народу!

И пророк есть:
Цитата(GoodBoy @ 3.3.2005, 19:49)

О, великий Domestic Cat --Resize_Images_Alt_Text--


Цитата(ManiaK @ 21.7.2005, 11:35)
Не выйдет smile

Ну не знаю. Я может к ним перейду - у них нет десятка библиотек для оконного интерфейса. Только пока не могу понять как в java прочитать строку с клавы. В сях просто: fgets. А в java к.з. Поэтому сижу на сях.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1211 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.