|
|
Другие темы раздела | |
C++ Ошибка с полем в классе Пишу класс.Сюда его выкладывать не хочу,ибо он достаточно обширный.В классе доступе private задаю поле дескриптора файла.Тоесть что-то типо того: Class Myclass { private: HANDLE file; ... public: ... }; https://www.cyberforum.ru/ cpp-beginners/ thread939514.html |
Сообщения между win32 приложениями C++ Как отправить сообщение (аналог системных типа WM_DESTROY только свои) и обработать приемником? приёмник это обычное консольное win32 приложение(когда в визуале пустой проект win32 создаешь) |
C++ Как назвать классы?
https://www.cyberforum.ru/ cpp-beginners/ thread939491.html Сразу замечу, что дело происходит в 2D без физики, как таковой. 1) У меня есть классы: Mixer - звуковой движок Graphics - графический движок У звукового движка есть базовый класс: MixerPrimitiveType (некоторая инфа для воспроизведения) от которого наследюутся: |
C++ Не удается подключить к приложению gtest и свою статическую либу VS 2010 Здравствуйте, господа. Возникла проблема с линкером в VS 2010 после подключения к консольному приложению собственной же статической библиотеки. В солюшене 2 проекта: 1 - статическая библиотека, 2 - приложение для тестов её функций, к этому приложению подключен gtest через его статическую либу. В 1-м проекте статической библиотеки имеется h-ник с API этой либы. Так как API может оперировать... https://www.cyberforum.ru/ cpp-beginners/ thread939486.html |
Консоль для ведения логов C++ Не уверен, что пишу туда, куда нужно, но есть только один способ узнать. Интересуют существующие решения по сабжу. Требования простые: - Минимум зависимостей - Цветной текст и фон - Динамические фильтры записей - Много буков - Желательно, отдельный поток и кеширование на диск - Картинки и ссылки приветствуются |
C++ Крутящееся колесо
https://www.cyberforum.ru/ cpp-beginners/ thread939479.html Может ли кто написать (срочно) программу крутящееся колесо, исходник чтобы был с комментариями. |
C++ char массив, get(), ввести больше символов чем в массиве
https://www.cyberforum.ru/ cpp-beginners/ thread939467.html #include <iostream> using std::cin; using std::cout; using std::endl; int main() { setlocale(LC_ALL,""); char AAA; |
C++ С++ и поиск в сети Как при вводе URL в консоль реализовать поиск сайта в сети и отобразить его в отдельном окне? |
C++ Алгоритм шифрования симметричным ключом (CRAB)
https://www.cyberforum.ru/ cpp-beginners/ thread939449.html Помогите, ребята, кто знает, а то я пока слабо понимаю, что нужно сделать и как это реализовать. Нужно написать библиотеку. Требования: Зашифрованный текст может быть расшифрован с помощью инструментов OpenSSL: OpenText => The Library => EncryptedText => OpenSSL tool => OpenText Зашифрованный текст с помощью OpenSSL может быть расшифрован в вашей библиотеке. OpenText => OpenSSL tool =>... |
C++ Что выбирать для дальнейшего изучения Windows 7 c Win32 или Windows 8 c WinRt?
https://www.cyberforum.ru/ cpp-beginners/ thread939401.html Стоит или ещё изучать Windows 7 в целом и Win32? Сейчас много людей все ещё пользуется этим, но не уверен стоит ли начинать, ведь будет обидно когда я научусь пользоваться хорошо этим, а оно уже не будет таким популярным и на сцену выйдет Windows 8 и WinRT. Ещё видел очень много плохих отзывов о Win32. А WinRT стала лучше? Может задам некорректный вопрос, но какая из них может помочь в лучшем... |
C++ Меню пуск, получить список Win7 Привет, как можно получить список строк в меню пуск, там где возле кнопки "Выключение" есть такая стрелка вправо и если ее нажать откроется список, в котором будет "Сон", "Гибернация" и тд ? |
C++ Место расположения проэкта в ноуте Подскажите, пожалуста, а то я что-то наверно вовсе туплю.. Как создать проект в опридиленой папке? Пока они создаются что-то в C:\Documents and Settings\User\Мои документы\Visual Studio 2010\Projects\MeinFuncts https://www.cyberforum.ru/ cpp-beginners/ thread939388.html |
20.08.2013, 14:06 | 0 |
реализация класса в .h файле хорошо или плохо? - C++ - Ответ 496716220.08.2013, 14:06. Показов 14994. Ответов 61
Метки (Все метки)
Ответ
Да, отключает. Но очень много всего в нашем случае некритично, ибо будет составлять проценты, может десятки процентов. В нашем случае речь шла о разнице более, чем на порядок, а потому всеми этими процентами и десятками процентов можно пренебречь. Во всяком случае для меня это очевидно (т.к. есть опыт в этой области). Но это вовсе не означает, что это так же очевидно тебе и другим. Поэтому привожу обещанный ранее пример. В примере у нас имеются элементы Elem и массив Elem'ов. Создаём массив, инициализируем его, затем инкрементируем значения
========== Реализация методов в хидере ========== C++ // Файл t1.cc #include "t.h" #define SIZE 10000 #define COUNT 100000 /* Атрибут втыкаем для того, чтобы отрезаться от цикловых оптимизаций * вточке вызова и замерить условно чистое время работы данной функции */ void __attribute__((noinline)) test_func (void) { Array array (SIZE); for (int i = 0; i < SIZE; i++) { Elem elem (i); array.Set (i, elem); } for (int i = 0; i < SIZE; i++) { Elem elem = array.Get (i); elem.Set (elem.Get() + 1); array.Set (i, elem); } } int main (void) { for (int i = 0; i < COUNT; i++) test_func (); return 0; } C++ // Файл t.h class Elem { private: int x; public: Elem () { x = 0; } Elem (int _x) { x = _x; } int Get (void) { return x; } void Set (int _x) { x = _x; } }; class Array { private: Elem *elems; public: Array (unsigned size) { elems = new Elem[size]; } ~Array () { delete elems; } Elem Get (unsigned index) { return elems[index]; } void Set (unsigned index, const Elem &elem) { elems[index] = elem; } }; Код
$ g++ t1.cc -O3 $ time ./a.out real 0m1.719s user 0m1.718s sys 0m0.001s Файл t1.cc остаётся без изменений. Из файла t.h удаляем все реализации C++ // Файл t.h class Elem { private: int x; public: Elem (); Elem (int _x); int Get (void); void Set (int _x); }; class Array { private: Elem *elems; public: Array (unsigned size); ~Array (); Elem Get (unsigned index); void Set (unsigned index, const Elem &elem); }; C++ // Файл t2.cc #include "t.h" Elem::Elem () { x = 0; } Elem::Elem (int _x) { x = _x; } int Elem::Get (void) { return x; } void Elem::Set (int _x) { x = _x; } Array::Array (unsigned size) { elems = new Elem[size]; } Array::~Array () { delete elems; } Elem Array::Get (unsigned index) { return elems[index]; } void Array::Set (unsigned index, const Elem &elem) { elems[index] = elem; } Код
$ g++ t1.cc t2.cc -O3 $ time ./a.out real 0m24.781s user 0m24.529s sys 0m0.172s Вернуться к обсуждению: реализация класса в .h файле хорошо или плохо? C++
1
|
20.08.2013, 14:06 | |
Готовые ответы и решения:
61
Такой способ создание экземпляра класса хорошо или плохо? Многопоточность - хорошо или плохо? Google: хорошо или плохо? Ссылки - хорошо или плохо? |
20.08.2013, 14:06 | |
20.08.2013, 14:06 | |
Помогаю со студенческими работами здесь
0
Глобальные указатели. Плохо или хорошо? молодняк получил пр=0 хорошо или плохо? Средний балл - хорошо или плохо Статические функции-члены - хорошо или плохо? |