c++ - 在 C++ 中使用的奇怪声明

标签 c++ c++11

stackoverflow 中的上一个问题中的一段代码上,我看到了这个,对我来说很奇怪,用 using 声明:

template <std::size_t SIZE> 
class A
{
public:
  ...
  using const_buffer_t = const char(&)[SIZE];
  ...
};

有人可以解决以下问题吗:

  1. 它代表什么类型?
  2. 我们在哪里需要这样的声明?

最佳答案

那是 type alias , 自 c++11 以来可用的新语法。

你实际上在做的是typedefing数组的类型

const_buffer_t 

将是一个长度 = SIZE 的 const char 数组

关于c++ - 在 C++ 中使用的奇怪声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23295776/

相关文章:

c++ - 防止 sleep_for 阻塞后台线程

c++ - 使用成员初始化器列表会使初始化速度稍微快一些吗?

c++ - 优化复合 std::functions

c++ - 将数组从 RAM 复制到 GPU 以及从 GPU 复制到 RAM

c++ - cin 一个非常大的 int 数组,段错误 11

c++ - 如何在 C++ 中为模板函数实例创建快捷方式?

c++ - const 和非 const 模板特化

c++ - clang 和 gcc 中的这个警告似乎不正确

c++ - 将对象移动到 map 中

c++ - 为什么在GCC上调用std::package_task失败