Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;11?_C++_C++11_Attributes_Clang++ - Fatal编程技术网

C++ C++;11?

C++ C++;11?,c++,c++11,attributes,clang++,C++,C++11,Attributes,Clang++,有没有办法在C++11或更高版本中创建用户定义的属性 比如说, [[noreturn]] void exit(); 是编译器定义的C++11属性 我想定义如下: [[comingsoon]] int function(int); 有这样的机制吗 编辑:我应该提到我正在使用Clang。该语言无法添加属性 当然,如果您使用的是Clang,您可以编辑Clang的来源,并添加您喜欢的任何属性。目前无法定义用户属性 据我所知,没有关于这项功能是否计划好的信息。 但是,请看Stroustrup的常见问题

有没有办法在C++11或更高版本中创建用户定义的属性

比如说,

[[noreturn]] void exit();
是编译器定义的C++11属性

我想定义如下:

[[comingsoon]] int function(int);
有这样的机制吗


编辑:我应该提到我正在使用Clang。

该语言无法添加属性


当然,如果您使用的是Clang,您可以编辑Clang的来源,并添加您喜欢的任何属性。

目前无法定义用户属性

据我所知,没有关于这项功能是否计划好的信息。 但是,请看Stroustrup的常见问题解答,尤其是这一部分:

属性的一个计划用途是改进对OpenMP的支持。例如:


[[omp::parallel()](inti=0;iCheck.Attributes(一个新的C++11特性)的
只是编译器扩展的标准语法。因为它们是用于编译器扩展的,没有创建自己属性的标准方法,比如java注释或C属性。看起来像是编译器扩展。@ NaNaLover,C++,CLI.Do,你知道C++的未来版本是否有计划。允许用户添加属性?我不知道。我猜不知道C++有什么样的反射能力,这会使它有用。不确定这个答案是真的。我想这是在讨论C++的/CLI,这是MS扩展到C++的。很少有机会返回到标准语言。若用户不能定义自定义属性,那个么实现属性的意义似乎是不必要的膨胀
for [ [ omp::parallel() ] ] (int i=0; i<v.size(); ++i) {
    // ...
}