Подниму. Очень интересно.
Что и где:PHP код:static const
fmt_str0[] = "Координаты: X = %8.2f, Y = %8.2f, Z = %8.2f",
fmt_str1[] = "Угол поворота: %8.2f°",
fmt_str2[] = "Интерьер: %d, вирт. мир: %d";
fmt_str0[] - строка с тремя параметрами
fmt_str1[] - строка с одним параметром
fmt_str2[] - строка с двумя параметрами
8.2 - форматирование значения аргумента параметра, 8 - ширина, 2 - количество цифр после точки.
Почему так:PHP код:const
size0 = sizeof(fmt_str0)+(-5+11)*3,
size1 = sizeof(fmt_str1)-5+11,
size2 = sizeof(fmt_str2)+(-2+11)*2;
sizeof(fmt_str0) - вычисляет общую длину строки, +(-5+11)*3 - добавочная длина для значения трех параметров X,Y,Z.
sizeof(fmt_str1) - вычисляет общую длину строки, +-5+11 - добавочная длина для значения одного параметра A.
sizeof(fmt_str2) - вычисляет общую длину строки, +(-2+11)*2 - добавочная длина для значения двух параметров int, world.
Допустим что у нас следующие значение:
fmt_str0 = 35
fmt_str1 = 30
fmt_str2 = 25
С помощью кода указанного ниже мы вычисляем наибольшее число используя транзитивность порядка, по формуле a > b > c
И на выходе получаем наибольшее число, т.е. size = 35;PHP код:#if size0>size1
#define size size0
#else
#define size size1
#endif
#if size2>size
#undef size
#define size size2
#endif
После чего объявляем массив:
PHP код:new string[size];
Последний раз редактировалось NewGreen; 22.10.2014 в 16:26.
Aurelius (12.03.2021) Daniel_Cortez (22.10.2014) DmX (24.10.2014)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)