可能会使大括号过载

Possible to overload curly braces?

本文关键字:      更新时间:2023-10-16

我几乎可以肯定不是,但我没有找到明确的答案:

是否可以

使大括号超载?如:

class Foo
{
    int i;
    public:
    int operator{}(int _i){return _i+42;};    
};
int main()
{
    Foo f;
    f{2};
    return 0;
}

它从未被提及,既不允许也不允许。 GCC 4.6 没有编译它,但这并不意味着标准不允许它,对吧?

在C++大括号中,{}不是运算符,不像[](数组下标运算符)或()(函数调用运算符),因此它们不能重载。

相关文章:
  • 没有找到相关文章