C++标准[sec 5.7]说:
如果指针操作数和结果指向相同的数组对象,或一个过去的数组对象的最后一个元素的元素两者,所述评估也不得产生溢出; 否则,行为未定义.
那么,我是否正确地假设其他类型的指针比数组未定义?
例如:
int a = 0; vector<int> v(&a, (&a)+1);
上面的代码片段编译并且工作正常(使用g ++),但它是否有效?
c++ pointers pointer-arithmetic
为什么自动类型推导仅适用于函数而不适用于类?
c++ templates types class function
c++ ×2
class ×1
function ×1
pointer-arithmetic ×1
pointers ×1
templates ×1
types ×1