- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 .h 文件中声明所有变量和函数,这已成为我的习惯(我正在使用 cocos2dx 编程)
而且我读到您应该尽量在 .h 文件中包含最少的内容,而在 .cpp 文件中包含最多的内容。
因为我在 .h 文件中声明了所有变量和函数,如果我需要使用另一个文件中的另一个类,那么我需要在 .h 文件中包含该类以将该类声明为变量。
所以我想知道在.h文件和.cpp文件中声明变量的重要性。我也想知道哪种方式最标准。
如果没有区别,那么为什么人们会在私有(private)文件中声明变量和函数,因为在 .h 文件中声明一个函数需要您在 .cpp 文件中重新编写它。
即)
.h文件
:
class classA {
private:
void function();
};
.cpp 文件
:
void classA::function() {
...do something...
}
在头文件中声明变量和函数的重要性是什么?
最佳答案
在头文件中的 .cpp 文件中声明代码之外需要的任何内容,仅此而已。尽量减少那里的数量。这样做的原因是其他程序员可能正在查看您的头文件 (.h),它本质上是他们的 API。作为 OOP 程序员,您希望尽可能多地隐藏对象的内部工作,即您不希望使用您的 API 的人变得依赖于可能随着对象结构的变化而变化的因素。还要尽量保持变量的范围尽可能小。一般来说,最好避免使用全局变量。将它们作为参数传递几乎总是一个更好的主意。尽量将变量保持在尽可能低的范围内。
关于c++ - 在头文件中声明变量和函数的重要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22435287/
在 GGally::ggpair 的最新版本中,相关值用 * 显示,如下图所示。我想删除 *s 并保留相关值。 我看过 ggpairs 代码,但它对我来说并不明显。 GGally::ggpairs(d
在 GGally::ggpair 的最新版本中,相关值用 * 显示,如下图所示。我想删除 *s 并保留相关值。 我看过 ggpairs 代码,但它对我来说并不明显。 GGally::ggpairs(d
我正在尝试使用在 weka 库中实现的 SVM 分类来对一些数据进行分类。我的分类代码如下所示: BufferedReader reader = new BufferedReader(new File
我已经为 jdbm 构建了 Lucene Directory 实现,一个嵌入式Java数据库。 Directory API 的一部分是与"file"修改日期相关的两个方法:touchFile 和 fi
我的任务是编写一个函数,将文件中单词的长度与整数进行比较,然后返回所有符合该大小的单词。我得到的答案几乎相同,除了我没有像他们那样包含 string.strip() : def get_words(d
xgb.importance 命令返回由 f score 衡量的特征重要性图。 这个f分数代表什么,它是如何计算的? 输出: Graph of feature importance 最佳答案 这是一个
有一个二元分类问题:如何获得 Ranger 模型变量的 Shap 贡献? 示例数据: library(ranger) library(tidyverse) # Binary Dataset df %
如今 servlet 在哪里使用? 我知道 servlet 是在面向请求/响应的服务器(例如支持 Java 的 Web 服务器)中运行的模块。但是现在我没有听到任何人使用 servlet。这可能是因为
我是一名优秀的程序员,十分优秀!