Инкапсулация в широком смысле упаковка данных вместе с функциями.
(с) Б. Эккель
(с) Б. Эккель
#include <iostream> //деректива препроцессора которая подключает заголовочный файл
#ifdef NAME ... #endifили
#ifdef NAME ... #elseif ... #endif
#include <iostream> int main() { int var = 5; #ifdef DEBUG std::cout << "var: " << var << "\n"; #endif }Для вывода отладочной информации необходимо определить имя DBUG в командной строке компилятора. Для компилятора GCC данная команда выполняется с помощью ключа -D name, где name - имя определяемой константы. Например:
g++ test.cpp -o test -D DEBUG
cout << sizeof(float); // 4Согласно стандарту IEEE 754 формат представления float в памяти компьютера следующий:
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1 | 8 | 23 |
#include <iostream> using namespace std; // Печать одной байта в битах void printInBinary(const unsigned char val) { for (int i = 7; i >= 0; --i) if (val & (1 << i)) cout << "1"; else cout << "0"; } int main() { float f = 1.2345; unsigned char *ucp = reinterpret_cast<unsigned char*="">(&f); for (int i = sizeof(float) - 1; i >= 0; --i) printInBinary(ucp[i]); }