C++复合文字
C++ Compound literal
在C中,我可以做到这一点:
ppackage ppnull() {
return (ppackage) {
.type = NULL
}
}
然而,在C++中,我会遇到语法错误。我使用GNU g++
编译器。有开关可以启用吗?
使用c++11
可以使用初始值设定项列表:
struct ppackage
{
void* type;
};
ppackage ppnull()
{
return {nullptr};
}
或者只是
ppackage ppnull()
{
return {};
}
相关文章:
- constexpr 函数中的非文字(通过 std::is_constant_evaluated)
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 如何使用字符串文字作为宏参数
- 有没有办法从非C/C++文件中读取C++原始字符串文字的内容
- 构造<int>具有 2 个字符串文字的向量
- 将数字打印成文字
- 初始化或分配空字符串文字到指向 C 中的 char 的指针或指向 C++ 中 const char 的指针的原因是什么
- 算术复合运算符重载为非成员
- 方便地对C++中的所有字符串文字进行模糊处理
- C++模板函数中的初始化 - 新的初始值设定项表达式列表被视为复合表达式
- 时间复杂度 当具有复合数据类型(如元组或对)时?
- HDF5Cpp 扩展复合数据集超板问题
- C++17 十六进制浮点文字单精度后缀冲突?
- 如何在不使用复合文字的情况下从标量初始化 AltiVec 寄存器
- 设置数组一次索引很多?复合文字
- 为什么我需要一个类似于复合文字的临时构造来初始化我的std::数组成员
- 复合文字,并在与 GCC C++中通过引用传递
- 为什么复合文字到目前为止不是C++的一部分
- C++复合文字
- 使用派生类生成复合文字