Сообщений: 8
Тем: 2
Зарегистрирован: Oct 2011
Репутация:
-24
возможно.. Но не зная языка вам код на си может показаться красивым, а мне он кажется кривым и мало производительным так как и ява.. Си достаточно быстрей при правельном использование, чем ява
Да и если вы тыкаете -,то докажите что мое сообщение не имеет смысла
Сообщений: 2,303
Тем: 24
Зарегистрирован: Sep 2010
Репутация:
5,617
Что ты за ересь несешь? ))) Ява по определению медленнее чем Сяхи , т.к. код выполняется в виртуальной машине. Советую не компостировать тут никому мозг своими "Познаниями" в ооп и топать на какой-нить оллчитс - там любят таких. Очень очень.
Сообщений: 1,326
Тем: 10
Зарегистрирован: Apr 2010
Репутация:
2,078
Оффтоп, о знании C++
DarkvooD Написал:Я знаю си, и могу доказать, но не знаю как.. Пишу потому что не знаю игру Расскажите нам, сирым и убогим тогда, раз вы знаете C++, почем в коде приведенном ниже, конструктор вызывается 1 раз, а деструктор аж 6?
Код: #include <iostream>
#include <vector>
using namespace std;
class C {
public:
C() { cout << "init!\n"; }
~C() { cout << "done!\n"; }
};
int main() {
vector<C> v(5);
return 0;
}
Сообщений: 1,314
Тем: 38
Зарегистрирован: Mar 2010
Репутация:
7,002
Сообщений: 3,494
Тем: 52
Зарегистрирован: Jun 2010
Репутация:
12,167
Azagthtot Написал:
Оффтоп, о знании C++
Расскажите нам, сирым и убогим тогда, раз вы знаете C++, почем в коде приведенном ниже, конструктор вызывается 1 раз, а деструктор аж 6?
Код: #include <iostream>
#include <vector>
using namespace std;
class C {
public:
C() { cout << "init!\n"; }
~C() { cout << "done!\n"; }
};
int main() {
vector<C> v(5);
return 0;
}
Копирующий конструктор , это больше к реализации STL и опций компилятора.
Я думаю он бы так и ответил :ugar: т.к. он пишет на С плас плас и сам не знает как доказать на сколько он хардкорен !!
Сообщений: 1,326
Тем: 10
Зарегистрирован: Apr 2010
Репутация:
2,078
Deazer Написал:Копирующий конструктор , это больше к реализации STL и опций компилятора.
Я думаю он бы так и ответил :ugar: т.к. он пишет на С плас плас и сам не знает как доказать на сколько он хардкорен !!
1. Тут нет копирующего конструктора. Копирующий конструктор это
C(const C) или C(const C*).
2. STL с 1999 года неотъемлимая часть C++. Так что, знаешь С++ - знай и STL
Сообщений: 3,494
Тем: 52
Зарегистрирован: Jun 2010
Репутация:
12,167
Azagthtot Написал:1. Тут нет копирующего конструктора. Копирующий конструктор это
C(const C) или C(const C*).
2. STL с 1999 года неотъемлимая часть C++. Так что, знаешь С++ - знай и STL
Вызов определенного конструктора происходить один раз , т.к. все новые экземпляры порождаются копирующим конструктором (отсюда и один инит в консоли), определи копирующий конструктор с выводом в лог и он будет тебе писать все правильно кол во конструкторов и деструкторов одинаково.
....
Плюс знай особенности твоей реализации и ухищрение оптимизации компилятора.
Вроде взрослый человек , помнит с 1999 года. А не допускает разные виды реализации STLa
Сообщений: 1,326
Тем: 10
Зарегистрирован: Apr 2010
Репутация:
2,078
Ага, ответ верный. Но я то-задавал его не вам. Совершенно верно, при аллокировании места в векторе новые экземпляры создаются копированием.
И даже не потому что меня этот факт удивляет или я его не понимаю Это один из бвнальных "приколов" C++
так же как и UB при i++ + ++i
Сообщений: 2
Тем: 0
Зарегистрирован: Apr 2011
Репутация:
0
Почему никто не пугает кул-прогеров-на-плюсах, которые решили создать свой Aion-Emu-Super проект, вопросами архитектуры, паттернами проектирования, потоками, работой с портами, пакетами, XML, базой, утечками памяти, исключениями (хах, даже Google в V8 движке JavaScript их не юзает)? Тут столько страшилок, что, Azagthtot, Вы как-то помелочились...
совсем оффтоп
Для тех, кому интересно, в том примере про vector - копирующего конструктора в классе нет, но он таки создаётся, по-умолчанию. И если бы у Вас в классе были указатели на другие объекты в памяти, Вы бы выстрелили себе в ногу. :_smile_:
|