Почему следующая программа выводит 1 0
, хотя вроде бы одинаковые проверки?
#include <iostream>
#include <type_traits>
int main() {
std::cout << std::is_copy_assignable<int>() << std::endl << std::is_assignable<int, int>();
}
std::is_assignable<int, int>
проверяет(без выполнения), будет ли корректным выражение
::std::declval<int>() = ::std::declval<int>()
int x{}; int y{}; ::std::move(y) = ::std::move(x); // не работает
Это выражение некорректно, так как слева должно быть l-value
А std::is_copy_assignable<int>()
выдает результат аналогичный
::std::is_assignable<int &, int const &>
::std::declval<int &>() = ::std::declval<int const &>()
int const x{}; int y{}; y = x; // работает
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужно было реализовать логику для замены строки в текстовом файлеПрименял разные схемы, но остановился на самом лаконичном, как мне кажется:
Вот собственно код дата прилетает формата 05 ноя 18, 20:51 В среде всё работает, но когда я компилирую файл и запускаю его через командную строку,...