……其中一个在世界。 —赫伯·萨特和安德烈亚历山德雷斯库,C类++编码标准
……其中一个在世界。
标题<促进/核心/地址.马力>定义函数模板促进::地址.促进::地址(x个)收益地址x个通常情况下,这个地址可以通过以下方式获得&x个,但一元&操作员可能过载。促进::地址避免调用used-defined操作人员&().
<促进/核心/地址.马力>
促进::地址
促进::地址(x个)
x个
&x个
&
操作人员&()
促进::地址最初出资人Brad King基于与Doug Gregor讨论的想法。
命名空间 促进 { 模板<班 T型> T型* 地址( T型& x个 ); }
#包括 <促进/核心/地址.马力> 结构 无用途类型 { }; 班 不可寻址 { 无用途类型 操作人员&() 常数; }; 空隙 (f)() { 不可寻址 x个; 不可寻址* 极限功率 = 促进::地址(x个); //无法寻址*xpe=&x;/*错误*/ }
在C++11及以上版本中,促进::地址是有条件的常量表达式如果可能的话。这表示为BOOST_CORE_NO_CONSTEXPR_地址未定义。
常量表达式
BOOST_CORE_NO_CONSTEXPR_地址
使用支持的编译器,促进::的地址总是常量表达式通过杠杆作用编译器内部函数。这表示为BOOST_CORE_HAS_BUILTIN_ADDRESSOF系统正在定义。
促进::的地址
BOOST_CORE_HAS_BUILTIN_ADDRESSOF系统