gpt4 book ai didi

c++ - 两个指针合法的 c++17 常量表达式之间的区别是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:09 25 4
gpt4 key购买 nike

根据 cppreference 核心常量表达式部分 19) 两个指针之间的减法运算符不是合法的常量表达式直到 c++14。我可以假设以下代码是合法的 c++17 代码还是这种解释是一种滥用?

int X, Y;

template <long long V>
struct S { };

int main() {
S<&X - &Y> s;
(void)s;
}

最佳答案

这个问题没有实际意义。指针算法只定义在属于同一个数组的指针上,当然不是这样。所以,上面的代码是合法的 C++,事实上,无法使用我可用的编译器进行编译。

关于c++ - 两个指针合法的 c++17 常量表达式之间的区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41451930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com