星号的位置是否会影响指针
Does the position of an asterisk affect pointers?
我注意到,在C++中,可以使用两种不同类型的缩进来声明指针(如果这是我正在寻找的正确词(:
//Space followed by asterisk with variable name
char *pointer;
//Asterisk followed by space and then variable name
char* pointer;
星号的位置是否会影响指针的任何内容?如果是这样,在什么情况下我需要使用一种类型的缩进而不是另一种缩进?
不,白间距对指针声明没有任何影响,但是 C/C++ 语法中存在一个错误(嗯,正式它是一个功能,但我不知道有谁喜欢这种行为(,其中这个声明
char* pointer, pointer2;
pointer
留下char*
类型,pointer2
char
类型。正因为如此,许多人更喜欢把它写成
char *pointer, *pointer2;
char *pointer, not_pointer;
为了更清楚起见,"指针"是名称的一部分,而不是类型。
否,星号位置对指针的声明没有影响。
只要星号在类型之后和变量名之前,间距就不起作用:
char *pointer;
与以下相同:
char * pointer;
在指针等复合类型中,asterix(类型修饰(是声明符的一部分。实际上声明由以下内容组成,即:
int i = 1, *pi = &i;
^^^ ^^^^^^^^^^^^^^^ -- list of declarators
`- base type
在上面我是一个整数,whie pi是一个指针
在:
int* p1, p2; // p1 is a pointer, while p2 is an int
int *p1, p2; // same as above
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 将指向矢量的指针推回,然后修改其值会影响推送的值.我应该怎么做?
- 如果我只使用指向基类的指针,更改私有派生类是否会影响 ABI?
- C 指针向量如何影响性能
- 线程更新全局指针时对全局指针的影响
- std::unique_ptr 及其对 STL 容器中匹配指针的影响
- 如何分析指针锯齿的性能影响
- 指针和性能影响
- 使用指针/引用影响本地成员的多态调用
- 将指针设置为 nullptr 是否会影响指向同一地址的其他指针
- 星号的位置是否会影响指针
- 当调用放置新时,强制投射指向"void*"的指针是否有任何影响?
- New和delete操作符不影响指向该类的指针的Deque的内容
- 间接指针对效率的影响有多大?
- 影响指针集合排序的因素(具体示例)
- 公共访问声明不会影响成员函数指针
- 在c++中对派生类使用基类指针有什么负面影响吗?
- 标记方法指针/引用参数常量真的会显著影响性能吗
- 指针值似乎受到其前面的值的影响