Инкапсулация в широком смысле упаковка данных вместе с функциями.
(с) Б. Эккель
(с) Б. Эккель
#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]);
}