C&C++
文章平均质量分 51
HEX9CF
Full Stack Developer | Email: aGV4OWNmQGFsaXl1bi5jb20= | Github: HEX9CF
展开
-
【C++】定义类型别名的三种方式及其优缺点:typedef,#define 和 using
如果编写 C++11 或更高版本的代码,推荐使用using来定义类型别名,因为它的语法更清晰,功能也更强大。如果需要定义常量或函数宏,或者需要向后兼容旧的编译器,可以使用#define。typedef则适合在处理简单类型时使用,或者在老的 C++ 代码中使用。原创 2024-08-21 13:51:22 · 769 阅读 · 0 评论 -
【C++】不支持非平凡的指定初始值设定项 sorry, unimplemented: non-trivial designated initializers not supported
这个错误信息表明,代码试图使用C99标准中的一种特性,即指定初始化器(designated initializers)。这是C99引入的一个特性,允许在初始化数组或结构体时指定某些特定元素或成员的值。这在C99和后续的C标准中是合法的,但在C++中并不支持。编译时出现错误:抱歉,未实现:不支持非平凡的指定初始值设定项。创建一个数组,然后分别设置对应的元素的值。原创 2024-07-16 11:28:42 · 247 阅读 · 0 评论 -
【C&C++】为什么 scanf 函数在读取字符串时不需要用取地址运算符 &
在C语言中,字符串实际上是字符数组,所以我们可以使用scanf函数来读取字符串。但是,需要注意的是,scanf在读取字符串时会在遇到空格、制表符或换行符时停止。因此,它不能用于读取包含空格的字符串。以下是使用scanf在这个例子中,我们定义了一个可以容纳100个字符的字符数组str。然后,我们使用scanf函数和"%s"格式字符串来读取一个字符串,并将其存储在str中。如果你想读取一行文本(包括空格),你可以使用fgets在这个例子中,fgets函数从标准输入stdin。原创 2024-01-19 23:06:54 · 1135 阅读 · 0 评论