#include <iostream>
int main()
{
int a;
std::cin >> a;
std::cout << "a = " << a;
}
a = 0
#include<iostream>
int main()
{
int a;
std::cin.operator>>(a);
std::operator<<(std::cout, "a = ").operator<<(a);
}
this->_M_setstate(ios_base::badbit)
Каким образом символы конвертируется именно в 0?
Запись в переменную литерала
int a = 1;
1 -- это литерал. Ввод из потока к литералам отношения не имеет.почему если попытаться записать в переименую типа int символ, то не выдается ошибки
#include <iostream>
int main()
{
int a;
std::cin >> a;
std::cout << "a = " << a << ", cin.fail() = " << std::cin.fail() << std::endl;
}