我有功能做一些工作.
啊
void doSomething(int n);
Run Code Online (Sandbox Code Playgroud)
A.cpp
#include "A.h"
void doSomething(int n) {
/* something */
}
Run Code Online (Sandbox Code Playgroud)
如果我想在另一个源文件中使用此函数,最佳选择是什么:
1)包括啊
B.cpp
#include "A.h"
void anotherTask() {
// ...
doSomething(5);
// ...
}
Run Code Online (Sandbox Code Playgroud)
2)或使用前向声明(函数原型):
B.cpp
void doSomething(int);
void anotherTask() {
// ...
doSomething(5);
// ...
}
Run Code Online (Sandbox Code Playgroud)
关于类的使用前向声明有很多提示.那么,功能前向声明的最佳实践是什么?
UPD
好的,这是一个太简单的例子.
如果标题啊有一些垃圾怎么办(相对于B.cpp,它对驱动程序级别一无所知):
啊
#include "specific_driver_header.h" /* some lowlevel stuff that B.cpp couldn't know */
#define SPECIFIC_DRIVER_DEFINES 0xF0 /* useless define for B.cpp that uses global namespace */
void doSomething(int n); /* only significant function for …Run Code Online (Sandbox Code Playgroud)