Сделайте decltype() и узнаете
так decltype же тип переменной вернет (bool)?
Если вы в него выражение засунете - вернет тип выражения
> Сделайте decltype() и узнаете ~я не токсик~
bool возвращает, это значит lvalue? почему оно lvalue, если оно на месте создано?
https://stackoverflow.com/a/36296823
Правда чтоль? https://compiler-explorer.com/z/berdG3G8x
#include <iostream> template <typename T> void f(T) = delete; int main() { f(*(new bool)); } main.cpp:7:2: error: call to deleted function 'f' f(*(new bool)); ^ main.cpp:4:6: note: candidate function [with T = bool] has been explicitly deleted void f(T) = delete;
ну это же все равно значит lvalue?
У шаблонов другие правила вывода типов
lvalue - это то, у чего есть адрес. Получив указатель на элемент в куче, а затем разыменовав его ты получаешь что-то, у чего есть адрес (который в куче). Вывод: да это lvalue.
Обсуждают сегодня