在C+中设置/获取大量变量的良好习惯+; 我是C++新手,我正在做游戏来教自己更多。
我想听听您关于存储/访问大量变量的一些想法 到目前为止,我所做的是尝试将“关键”变量粘贴到单独的名称空间中,以便在整个程序中访问它们 这是个好主意吗?我有一种强烈的感觉,它可能会回来咬我 提前感谢=]在C+中设置/获取大量变量的良好习惯+; 我是C++新手,我正在做游戏来教自己更多。,c++,C++,我想听听您关于存储/访问大量变量的一些想法 到目前为止,我所做的是尝试将“关键”变量粘贴到单独的名称空间中,以便在整个程序中访问它们 这是个好主意吗?我有一种强烈的感觉,它可能会回来咬我 提前感谢=] 编辑:我是计算机专业一年级的学生,但我有几年的Java经验。。C++是如此不同的= //将变量分组为结构或类。如果需要在类之外公开大量变量,则必须重新考虑设计组织数据的主要武器是类:类是表示程序元素的对象。您可以给它命名,给它变量和函数,然后在程序中创建它的实例。该类负责其所有数据,并可以阻止其他
编辑:我是计算机专业一年级的学生,但我有几年的Java经验。。C++是如此不同的= //将变量分组为结构或类。如果需要在类之外公开大量变量,则必须重新考虑设计组织数据的主要武器是类:类是表示程序元素的对象。您可以给它命名,给它变量和函数,然后在程序中创建它的实例。该类负责其所有数据,并可以阻止其他类访问该数据
class foo
{
public:
int iAmAPublicVariable; // <---This variable can be accessed by anyone who has access to an instance of the class
private:
int iAmAPrivateVariable; // <---- This variable can be accessed only from within the class itself.
};
通过这种设置,访问importantData的唯一方法是通过get和set方法,因此类可以最终控制对其进行的操作
课程应该是课程的基础;如果你有大量的变量,那么看看它们是用来做什么的,什么函数使用它们,然后试着把过程分解成离散的功能区域。然后创建表示这些区域的类,并为它们提供所需的变量和方法。您的代码应该更小、更易于理解、更稳定、更易于调试、更可重用,并且更好地表示您试图建模的内容。
大量变量本身是一个坏主意。你应该把你的相关变量分组。当我们开始编程并尝试创建游戏之类的东西时,我们都加入了进来——但从关于如何完成事情的基本教程开始确实是个好主意。它可以避免以后的头痛和心痛。特别是如果你想使用C++…你可以用小容器或类来存储统计、速度、视野等。class foo
{
public:
int getImportantData();
void setImportantData(int );
private:
int importantData;
};
int foo::getImportantData()
{
//here I could put some validation to make sure that it's ok to give out importantData;
return importantData; //this will return a copy of importantData, so the original is still safe within the class
}
void foo::setImportantData(int newData)
{
//here I could put some validation to make sure that it's ok to overwrite importantData;
importantData = newData;
}