【发布时间】:2013-04-10 17:52:29
【问题描述】:
我正在重新开始我的 C++ 研究,并真正尝试了解基础知识。指针总是给我带来麻烦,我想确保我真的明白了,然后再继续下去并在路上感到困惑。
遗憾的是,我从一开始就被我正在阅读的教程中的不一致所困扰。有些人以这种方式进行指针声明:
int *x
有些人这样做:
int* x
现在两者中的前者似乎是迄今为止最常见的。这令人不安,因为第二个对我来说更有意义。当我读到 int *x 时,我读到“这是一个 int,它的名字是 *x”,这不太对。但是当我阅读第二个时,我看到“这是一个int指针,它的名字是x”,这很准确。
那么,在我建立自己的思维导图之前,两者之间是否存在功能差异?如果我这样做,我会成为麻风病人的弃儿吗?
谢谢。
【问题讨论】:
-
奇怪的答案:早在 2002 年,我在 C 平台上就有 Turbo 编译器,其中
int* x, y;两个 x,y 都是指针。但是在编译器中,我声明int* x,y;...x是指向整数的指针,y是int!!.. 虽然int* x;和int *x;都给出了指向整数的指针。 -
你刚刚发起了一场潜在的圣战和大量无用的释义答案。
-
@GrijeshChauhan:在这方面,C和C++是一样的,所以当你写
int* x, y时,那么x是指向int的指针,y是int。跨度> -
我更喜欢
int * x;:p -
std::add_pointer<int>::type x;好了,没有间距问题。
标签: c++ variables pointers naming-conventions declaration