繁体   English   中英

这是设置头文件的正确方法吗?

[英]Is this a proper way of setting up header file?

我正在尝试使用类。 在我走的时候,所有全局变量等等。 那行得通。 但是我该如何实现#define value 100;类的东西#define value 100; 在标题中?

#ifndef COUNT_H_
#define COUNT_H_

// Definitions
#define first 100;
#define second 200;

// Class definition
class Account {
    private:
    int difficult(int);

    public:
    int easy (int);
} ;

#endif /* COUNT_H_ */

这是做事的正确方法吗? 它可以工作,但也很常见吗?

这样声明头文件就可以了。 您也可以在Visual Studios中使用#pragma once ,但我个人不希望这样做。

就像Mat所说的,对于类型,最好在宏上使用常量。 由于您不必担心意外重新定义它们。

您可以使用定义,例如从您的代码和\\可见的任何地方输入全局常量或从文件#include该文件。 定义通常用作宏:

#define max(a, b)((a > b) ? a : b)

使用定义时,预处理器会将定义放在使用宏的位置:

int i = max(a, b); // translated as int i = (a > b) ? a : b;

只需记住#define预处理器指令,它与编译时常量几乎相同(当然,除了类型定义),例如:

const int CI = 5;

但这与运行时常量有很大不同:

int foo() { return 451; }
const int CJ = foo()

您不应该在宏中放入分号的原因(当然,如果不需要的话,是因为这样做时:

#define first 100;

您已将"first" is "100;"分配"first" is "100;" 所以这段代码:

int a = first // <- without semicolon

将有效

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM