Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2014, 23:08   #1
J1Mmy
Пользователь
 
Аватар для J1Mmy
 
Регистрация: 10.05.2012
Сообщений: 24
По умолчанию Динамическая или Статическая инциализация членов класса

Собственно сабж, какой из вариантов наиболее правильный? Есть ли какие-то статьи, показывающие плюсы и минусы того или другого способов?
J1Mmy вне форума Ответить с цитированием
Старый 15.09.2014, 00:16   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Что такое "динамическое создание метода класса"?
waleri вне форума Ответить с цитированием
Старый 15.09.2014, 00:22   #3
J1Mmy
Пользователь
 
Аватар для J1Mmy
 
Регистрация: 10.05.2012
Сообщений: 24
По умолчанию

Код:
class blablabla{
int* var1;
float* var2;
blablabla() { var1 = new int; var2 = new float; }
}
либо

Код:
class blablabla{
int var1;
float var2;
}
J1Mmy вне форума Ответить с цитированием
Старый 15.09.2014, 00:24   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 15.09.2014, 00:33   #5
J1Mmy
Пользователь
 
Аватар для J1Mmy
 
Регистрация: 10.05.2012
Сообщений: 24
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
какие-то проблемы?
J1Mmy вне форума Ответить с цитированием
Старый 15.09.2014, 07:07   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Цитата:
Сообщение от J1Mmy Посмотреть сообщение
Код:
class blablabla{
int* var1;
float* var2;
blablabla() { var1 = new int; var2 = new float; }
}
либо

Код:
class blablabla{
int var1;
float var2;
}
Первый случай дырявый до утечек памяти. При создании var2 что-то сломалось и вылетело исключение - var1 зависла в памяти.
Во втором случае вся эта муть разруливается не программистом и слава богу.
И это называется не метод, а член класса. И это совсем не статическое/динамическое создание.
Всегда нужно стремиться уходить от *
pu4koff вне форума Ответить с цитированием
Старый 15.09.2014, 10:47   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

В большинстве случаев лучше использовать статический способ - он быстрее и потенциальных проблем меньше.
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Статическая и динамическая загрузка класса из библиотеки moon-guest Общие вопросы Delphi 4 03.09.2013 12:43
Статическая функция класса в С++ Артём Волжанкин Помощь студентам 12 03.05.2013 18:42
[visual c++] инициализация статических членов класса densvr Помощь студентам 0 10.02.2013 18:24
Область видимости членов класса. Lord-of-Hedgehogs Общие вопросы C/C++ 9 27.11.2010 21:29
использование функций не членов класса Наташенька Общие вопросы C/C++ 7 05.10.2009 19:32