const className& f();
< /code>
Если у меня есть функция, которая возвращает const ref. И использовать его значение, чтобы назначить переменной, используя Auto < /p>
auto v1 = f();
auto& v2 = f();
const auto& v3 = f();
decltype(auto) v4 = f();
v1 , v2 , v3 и v4 на самом деле все одинаковый тип? Если так, какой вариант предпочтительнее?
[code]const className& f(); < /code> Если у меня есть функция, которая возвращает const ref. И использовать его значение, чтобы назначить переменной, используя Auto < /p> auto v1 = f(); auto& v2 = f(); const auto& v3 = f(); decltype(auto) v4 = f(); [/code] v1 , v2 , v3 и v4 на самом деле все одинаковый тип? Если так, какой вариант предпочтительнее?
Я всегда испорчу, как использовать const int * , const int * const и int * const правильно. Есть ли набор правил, определяющих, что вы можете и не можете сделать?
В C++ невозможно перегрузить в одном классе функцию-член с квалификатором ref функцией-членом без квалификатора ref. Но в то же время можно унаследовать одну функцию-член от родительского класса и перегрузить ее в дочернем классе, как в примере:...
Соответствует ли перегрузка функции-члена f без ссылки на стандарт C++20? И Clang, и GCC, похоже, это принимают. Они оба тянут за короткий конец палки? Что об этом говорит стандарт C++20?
#include
struct s {
int f(auto...)&;
void f(auto...); //...
Соответствует ли перегрузка функции-члена f без ссылки на стандарт C++20? И Clang, и GCC, похоже, это принимают. Они оба тянут за короткий конец палки? Что об этом говорит стандарт C++20?
#include
struct s {
int f(auto...)&;
void f(auto...); //...