Вопрос по синтаксису куска кода

167
18 декабря 2017, 14:26

Недавно наткнулся на такой кусок кода:

int n, razr(1);
    cin >> n;
    while (n!=0){
        if (n % 10 == 4) //неюзать7
            posit += razr;
        else 
            posit = posit + razr*2;
        n /= 10;
        razr *= 2;

Интересует конкретно строчка 1, можете объяснить что значит razr(1)?

Answer 1

Объявление переменной razr с инициализацией значением 1. Можете написать

int n, razr = 1;

Для фундаментальных типов разницы не будет.

Вырезка из пункта 8.5/13 стандарта C++:

The form of initialization (using parentheses or =) is generally insignificant, but does matter when the initializer or the entity being initialized has a class type;

Возможно, будет полезно: Какие из указанных операторов являются инициализацией, присвоением, объявлением, определением?

READ ALSO
Удаление дубликатов в двух файлах

Удаление дубликатов в двух файлах

Собственно есть файл1 и файл2, допустим обьем файла1 100кк строк, а файла2 20кк строк, нужно проверить вхождения файла2 в файл1, и записать в новые...

156
mingw g++ компиляция без консоли

mingw g++ компиляция без консоли

Как можно скомпилировать c++ приложение в windows, чтобы оно запускалось без консоли? Я пробовал добавлять флаг -mwindows при компиляции, но тогда...

248
Для каждого объекта класса создать член типа QWidget

Для каждого объекта класса создать член типа QWidget

Всем привет! Я пишу приложение на С++ в среде Qt Creator, в котором будет несколько оконУ меня имеется массив некоторых объектов, и я хочу, чтобы...

208
Как сделать анимацию FAB transforming into a single sheet of materia

Как сделать анимацию FAB transforming into a single sheet of materia

Подскажите пожалуйста, кто знает, как сделать такую анимацию или каким способом? Гугл штурмовал, но толком ничего так и не нашелЗа ранее спасибо...

205