小编Jas*_*ain的帖子

为什么 const 模板参数不是通用/转发参考

我正在阅读有关通用引用/转发引用的信息,此链接表示

param是一个通用参考

template<typename T>
void f(T&& param);   
Run Code Online (Sandbox Code Playgroud)

但这里param不是一个通用引用,它是一个右值引用

template<typename T>
void f(const T&& param);
Run Code Online (Sandbox Code Playgroud)

通用引用的定义如下:

如果变量或参数被声明为具有某种推导类型 T 的类型 T&&,则该变量或参数是通用引用。

我读过 T 是一个推导类型,因为Template argument deduction

为什么第二种情况不是通用参考?const T&& param出于某种原因,是否存在不遵循模板参数推论?如果是这样,为什么?

c++ language-lawyer c++11

4
推荐指数
2
解决办法
526
查看次数

std::array 中的 size_t 模板参数

std::array 模板参数是template < class T, size_t N > class array;其中 N 代表数组中元素的数量。

我的疑问是为什么是类型std::size_t?std::size_t 不是以字节为单位的对象/指针大小的别名。std::size_t

为什么用它来表示std::array这里的元素数量?

c++ size-t stdarray

1
推荐指数
1
解决办法
131
查看次数

标签 统计

c++ ×2

c++11 ×1

language-lawyer ×1

size-t ×1

stdarray ×1