开始接触 c++ 了—结构体

240 阅读2分钟

这是我参与2022首次更文挑战的第24天,活动详情查看:2022首次更文挑战

最近开始接触 c++,一个感觉就是难,而且要看东西比较多。学习时也会看一看其他大佬对 c++ 评价,有爱又恨,感觉还是负面评价比较多,不过 c++ 20 多年来还是在编程语言占有一席之地,特别是在系统级别和嵌入式占有不可动摇的位置,虽然有了 Rust,不过 Rust 还需要时间,而且 c++ 是有着多年来积累的生态,虽然设计上存在问题,不过当我们回到 20 年前,你有信心设计更好吗,而且其他语言设计,也借鉴过 c++。

对于有了一定经验程序员重新开始学习一门新的语言,有优势也有劣势。想一想应该怎么来学呢?首先就一步一步按部就班,从了解语言的数据类型开始,然后接下来如何声明变量,接下来就是如何写注释,就跳跃地去学吧。

先从数据上来,跳过一些简单的,看看 structunion。我们做的就是操作数据,数据可以看成一个一个状态,操作可以看成状态之间的转换,一个一个状态就是对应数据。那么对于简单数据我们可以基本数据类型表示,整型、浮点和双精度什么的。

那么通常还需要对数据进行组织,让一些不同类型具有一定含义数据聚集在一起表达一个含义。

struct Tut
{
	string title;
};

可以创建一个结构体同时对结构体进行赋值,这些看起来比较自然,应该不用做过多解释。

Tut tut = { "machine learning" };

这种方式是 c++ 声明也支持 c 语言的声明方式

struct Tut
{
	string title;
	int level;
};


int main()
{
	struct	Tut tut ;
	tut.title = "machine learning";
	tut.level = 1;
	cout << "title: " << tut.title << endl;
	cout << "level: " << tut.level << endl;
}	

也可以在声明结构体后直接创建实例

struct Tut
{
	string title;
	int level;
} tut1;


int main()
{
	tut1.title = "machine learning";
	tut1.level = 1;
	cout << "title: " << tut1.title << endl;
	cout << "level: " << tut1.level << endl;
}