одиночные и двойные кавычки С++ - интересное, неожиданное поведение [дубликаты]

Я обнаружил довольно странное поведение, когда пытался отлаживать свой код на C++ для несвязанной проблемы.

Я печатаю результат на этапе программы, на котором у меня есть целые переменные «сумма» и «монеты [i]» как:

std::cout << "Found, 1! n = " <<  amount/coins[i] << " * " << coins[i] << "\n";

Однако имеет значение, заключаю ли я * в двойные или одинарные кавычки. Для двойных кавычек, означающих, что * является строкой, мы получаем:

Found, 1! n = 11 * 1

Но для синглов получаем:

Found, 1! n = 1121079361

Что тут происходит?


person tam63    schedule 13.10.2020    source источник
comment
Предоставьте код, который создает второй вывод, как минимально воспроизводимый пример.   -  person Yksisarvinen    schedule 13.10.2020
comment
См. пункт 6 здесь.   -  person molbdnilo    schedule 13.10.2020
comment
К вашему сведению, GCC и Clang предупреждают об этом и дают вам поисковый запрос.   -  person chris    schedule 13.10.2020
comment
Поведение определяется реализацией см.   -  person B0FEE664    schedule 13.10.2020