C++ - 参考放在哪里?
C++ - Reference where to put it?
您好,我有一个基本问题,很抱歉,如果它是重复的,但我似乎无法通过 google 找到我要找的东西。
我有这个函数签名:
ostream& operator<<(ostream& o, const Test& t) {...}
引用“&”的顺序让我感到困惑,因为有时它在函数的前面 name/arguments 而不是:
ostream &operator<<(ostream &o, const Test &t) {...}
这有什么区别或有不同的含义吗?
任何解释都会很棒,谢谢!
编辑:它们在编译时似乎都工作正常,但我应该使用哪一个?
does this make any difference or has a different meaning?
没有区别。
Any explanation would be brilliant
一般来说,white-space只会改变程序中需要分隔记号的地方的意义。 &
等标点符号不需要与字母数字符号分开,因此您将在此处获得相同的符号序列(ostream
、&
、o
),但是您 space他们。
which one should I be using?
哪个看起来更吸引你。或者,如果您在封建环境中工作,则由您的领主指挥。
就我个人而言,我把space放在修饰符的两边,因为我认为它是一个单独的"word"到其他标记。其他人有不同的审美,将其视为修改类型或变量,并相应地space它。
这纯粹是一种风格问题,最重要的是,您应该尝试在您自己的代码中保持一致,或者在您为提高可读性而维护的代码中保持一致。
关于哪个最好,存在不同的哲学观点。 ostream& o
提请注意对象 o
具有类型 ostream&
这一事实,而 ostream &o
更暗示 o
是对 ostream
.
就我个人而言,我喜欢把它贴在字体的末尾。
两者没有区别,完全一样。空格无关紧要,唯一重要的是 &
在 ostream
和 operator<<
之间
所有这些都是等价的:
ostream& operator<<(ostream& o, const Test& t) {...}
ostream & operator<<(ostream & o, const Test & t) {...}
ostream &operator<<(ostream &o, const Test &t) {...}
ostream & operator<<(ostream & o, const Test & t) {...}
以及您能想到的其他组合。
您好,我有一个基本问题,很抱歉,如果它是重复的,但我似乎无法通过 google 找到我要找的东西。
我有这个函数签名:
ostream& operator<<(ostream& o, const Test& t) {...}
引用“&”的顺序让我感到困惑,因为有时它在函数的前面 name/arguments 而不是:
ostream &operator<<(ostream &o, const Test &t) {...}
这有什么区别或有不同的含义吗? 任何解释都会很棒,谢谢!
编辑:它们在编译时似乎都工作正常,但我应该使用哪一个?
does this make any difference or has a different meaning?
没有区别。
Any explanation would be brilliant
一般来说,white-space只会改变程序中需要分隔记号的地方的意义。 &
等标点符号不需要与字母数字符号分开,因此您将在此处获得相同的符号序列(ostream
、&
、o
),但是您 space他们。
which one should I be using?
哪个看起来更吸引你。或者,如果您在封建环境中工作,则由您的领主指挥。
就我个人而言,我把space放在修饰符的两边,因为我认为它是一个单独的"word"到其他标记。其他人有不同的审美,将其视为修改类型或变量,并相应地space它。
这纯粹是一种风格问题,最重要的是,您应该尝试在您自己的代码中保持一致,或者在您为提高可读性而维护的代码中保持一致。
关于哪个最好,存在不同的哲学观点。 ostream& o
提请注意对象 o
具有类型 ostream&
这一事实,而 ostream &o
更暗示 o
是对 ostream
.
就我个人而言,我喜欢把它贴在字体的末尾。
两者没有区别,完全一样。空格无关紧要,唯一重要的是 &
在 ostream
和 operator<<
之间
所有这些都是等价的:
ostream& operator<<(ostream& o, const Test& t) {...}
ostream & operator<<(ostream & o, const Test & t) {...}
ostream &operator<<(ostream &o, const Test &t) {...}
ostream & operator<<(ostream & o, const Test & t) {...}
以及您能想到的其他组合。