我正在阅读由Jones&Bartlett出版的Ulla Kirch-Prinz和Peter Prinz撰写的《 C++编程完整指南》。在其中,有一个类的示例(第246页),我认为这是一个主要问题-不是因为它是一个错误,而是我听说过您永远都不会做的事情:
// account.h
// Defining the class Account.
// ---------------------------------------------------
#ifndef _ACCOUNT_ // Avoid multiple inclusions.
#define _ACCOUNT_
#include <iostream>
#include <string>
using namespace std;
class Account
{
private: // Sheltered members:
string name; // Account holder
unsigned long nr; // Account number
double balance; // Account balance
public: //Public interface:
bool init( const string&, unsigned long, double);
void display();
};
#endif // _ACCOUNT_
包含卫队的宏以下划线开头和结尾。据我了解,下划线保留给标准库,操作系统和编译器使用,除非您正在创建操作系统或编译器,否则几乎没有理由使用它。我知道这只是一个例子,但出于教人们良好的编程习惯的目的和目的,看来他们仍然很讨厌这个习惯。话虽如此,我对此还是很陌生,所以我可能是错的并且很适当。
最佳答案
是的,这些是保留名称,尽管您不太可能真正遇到问题。
请注意,在这种情况下,仅保留它是因为它后跟一个大写字母。 +帐户就可以了。
是的,我同意书真的不应该采用这种风格。基本上,这源于人们已经习惯了样式,他们通过查看实现库 header (允许使用保留名称)并思考“这样就可以做到”,而没有意识到那些名称是由于保留而专门使用的。
关于c++ - 书中的这个例子不好吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62865168/