c++ - 正确的 C 指针表示法

标签 c++ c pointers coding-style

<分区>

哪种写法最好:

string* str

或者:

string *str

其中一个有副作用吗?

谢谢

最佳答案

选择第二个的原因是当您一次声明多个变量时:

string *str, *foo;
string* str, foo;

这两行是不同的,第一行声明了一个指针,而第二行声明了一个指向string和一个string的指针。

[FredOverflow 的评论] 这个问题可以通过一些模板魔术来解决,不过 ;-)

template <typename T>
struct multiple
{
    typedef T variables;
};

multiple<string*>::variables str, foo;

关于c++ - 正确的 C 指针表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4071068/

相关文章:

c++ - C++ 库和框架如何添加标准库中没有的功能?

c - 在 C 中找到 10,000,000 以内的平方

c++ - 复制构造函数+浅复制和深复制

c - 访问结构中的结构指针时出现段错误

c - 如何在 Mac 上模拟 “fn + shift + command + L” 按键?

被释放的 C 指针未分配(即使我对它进行了 malloc,这就是该程序所做的全部)

c++ - const_iterator 和 const_iterator::value_type 的 constness

c++ - 以下函数的时间复杂度是多少?

c++ - 获取从另一个地址指向的地址

c - 在 C 中为缓冲区(结构类型)分配内存