我想我想复制一个常量原始类型的值,并赋给一个引用。我想这样做而不是让它进入堆,这可能吗?
做这样的事情:
const unsigned long rawnan[2]={0xffffffff, 0x7fffffff};
const double NaN = *( double* )rawnan;
Class{
float &_f;
inline Class( ):_f(float(NaN)){
}
}
我想知道是否:
Class{
float &_f;
inline Class( float F):_f(float(F)){
}
}
如果我实际上复制了变量 F 或没有(我知道可以直接引用 F 但我认为它的作用域将在构造函数的末尾结束,那么我需要复制它的值。)
(如果代码编译不通过,那是因为是真实代码的伪代码,基础问题很重要,希望能看懂)
(我这样做了 NaN 的定义,因为这是迄今为止我所知道的最好的方法,并且与 VC++ 和 G++ 兼容)
最佳答案
方法如下:
float first = 3.14159265358979324f;
float second = first;
关于c++ - 我如何制作原始类型 C++ 的拷贝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15761433/