c++ - 如何声明对函数类型的 const 引用
问题描述
#include <iostream>
#include <type_traits>
void func()
{
}
int main()
{
using T = const decltype(func) &;
using T2 = void (&)();
std::cout << std::boolalpha << std::is_same_v<T, T2> << std::endl;
}
你如何声明const reference
一个函数类型?上面的语句打印true
,所以我假设const
inT
以某种方式被忽略。是否可以将 a 声明const reference
为函数类型?
解决方案
函数声明器中cv-qualifier-seq的效果与在函数类型之上添加 cv-qualification 不同。在后一种情况下,将忽略 cv 限定符。
所以你只能引用一个函数,而不是 a const&
,因为const
函数类型被忽略,如上所述。
推荐阅读
- algorithm - 两个循环除以一个循环,可以吗?
- lua - 连接到小部件的信号,button::press
- javascript - 下载作为二进制/八位字节流的 PNG 文件
- android - 排行榜还需要 BaseGameUtils 吗?
- python - How to plot graph where the indexes are strings
- php - PHP 中的 Google 身份验证
- python - TravicCI 构建找不到 Managa.py [Django] 命令
- python - 为什么 Python IDE 即使安装正确也会显示这样的错误
- r - 根据条件选择和修改数据框中的行
- reactjs - ANTD React 我怎样才能像 antd 网站一样做词缀?