#include <iostream>
#include <typeinfo>
using namespace std;
template <typename type_1, typename type_2>
bool equal(type_1 const &x, type_2 const &y) {
return (x == y) && (typeid(x) == typeid(y));
}
int main() {
int a[10] = {5};
cout << equal(a[9], 0);
return 0;
}
Подскажите, пожалуйста, почему несуществующий элемент массива равно 0-ю? Я знаю, что false == 0
, но нет ли ни одного способа их различить, чтоб вышеуказанный код вернул false
? Спасибо!
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Почему алгоритм std::swap() определен в 2 заголовочных файлах: <algorithm> и <utility>?