Форум программистов, компьютерный форум CyberForum.ru

Методы оптимизации кода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как сделать свою переменну в С++ http://www.cyberforum.ru/cpp-beginners/thread328357.html
Мне нужно подсчитывать очень большие числа, порядка 10^100000, и нужно создать свою переменную как можно это сделать?
C++ Работа в excel. срочно помогите срочно последнее задание по практике Идет k-я секунда суток (размещена в В10). Сколько полных часов h от 0 до 23 (в B11) полных минут m от 0 до 59 (в В12) и секунд s от 0 до 59 (в В13) прошло к этому времени. ---------------------------------------------------------------------------------------------------------- Для успешного решения задач необходимо ознакомиться с... http://www.cyberforum.ru/cpp-beginners/thread328355.html
C++ сервер с++
клиент - сервер работают если запушены на одном компе(127.0.0.1) у меня установлена виртуальная машина, попробовал на ней протестить - не соединяются. Virtualbox -> сетевой мост : реальная и виртуальные машины пингуют друг друга, в чем может быть проблема?! имя локальный адрес внешний адрес состояние TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING ...
C++ Добавление и удаление элементов в середину списка
Доброго всем времени суток!! Есть прога добавления и удаления элементов в списке, из начала, конца. А вот с серединой что-то туговато.. Кто подскажет функцию добавления и удаления из середины списка? //обход списка #include<iostream> using namespace std; class Node { private: int data;
C++ Дан текст. файл, сост. из одной или нескольких строк.подскажите,как написать программу http://www.cyberforum.ru/cpp-beginners/thread328322.html
Дан текст. файл, сост. из одной или нескольких строк. Каждая строка файла содержит числа, разделенные пробелами. Из каждой строки файла удалить числа, предшествующие первому положительному чуслу. Если в строке нет положительных чисел, оставить её без изменения
C++ динамический 2-х мерный массив помогите плиз вот код , нужно составить динамический 2-х мерный массив double **a int n,m,l; scanf("%d%d",&n,&m); a=(double **) colloc (m,sizeof(double*)); for (i=0;i<m;i++) a=(double *) colloc(n,sizeof (double)) подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
29.12.2011, 09:34     Методы оптимизации кода
Используйте список инициализации конструктора, вместо присвоения значений в его теле. Так поля будут инициализироваться один раз.
Пишите так:
C++
1
2
3
4
5
SomeClass::SomeClass( int val1, int val2 )
   : m_val1( val1 )
   , m_val2( val2 )
{
}
Вместо:
C++
1
2
3
4
5
SomeClass::SomeClass( int val1, int val2 )
{
   m_val1 = val1;
   m_val2 = val2;
}
А во втором случае типа два раза?

Не правильный вариант выделения памяти:
Граммар наци негодуют.

Заведите себе подобные типы и всегда учитывайте, сколько занимают ваши переменные в памяти. Это поможет легче учитывать пункт 6.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 8 bit
typedef unsigned char           u8;
typedef signed   char           i8;
 
// 16 bit
typedef unsigned short          u16;
typedef signed   short          i16;
 
// 32 bit
typedef unsigned int            u32;
typedef signed   int            i32;
 
// 64 bit
typedef unsigned long long      u64;
typedef signed   long long      i64;
 
// floats
typedef float                   f32;
typedef double                  f64;
Стандарт языка не гарантирует размер типов, то есть не факт, что int - 32-битный и т.д.. Кроме того есть заголовочный файл stdint.h, в котором объявлены синонимы целочисленных типов с гарантированной шириной:
The following types are required:
int8_t
int16_t
int32_t
uint8_t
uint16_t
uint32_t
В целом серьезно разбирать Вашу статью лениво. Она уныла.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru