Что означает ":" в структуре C++?
Смотрел один код с гитхаба и наткнулся на вот такую структуру:
struct vec2
{
float x, y;
vec2(float value) : x(value), y(value) {}
vec2(float _x, float _y) : x(_x), y(_y) {}
};
Изучаю C++ не так давно, поясните, пожалуйста, что значат 4 и 5 строчки.
Ответы (1 шт):
Автор решения: Bloody.cpp
→ Ссылка
: в C++ это что-то в роде сокращения кода. Есть исключения конечно. В методах/функциях : означает присваивание из параметров. Работает это так:
size_t globalvar = 0; // Переменная в которую сохраняем значение
void myfunc(size_t otherValue) : /*Тут вставляем имя переменной в которую сохраним значение*/globalvar(/*Суда пишем параметр*/otherValue) {}
Но не всегда это сокращение. Например : так же используется для наследования в классах/структурах
И ещё, эти присваивания можно писать через запятую