龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

C++基础入门教程(三):数组、字符串、结构体、共用体(2)

时间:2014-11-04 02:42来源:网络整理 作者:网络 点击:
分享到:
输出结果如下: 复制代码 代码如下: “mutou” (“mutou”) 使用R开头,再用“(和)”符号把字符串包围起来,那么,中间的字符串就可以使用双引号等原本需

输出结果如下:

复制代码 代码如下:

“mutou”
(“mutou”)

使用R开头,再用“(和)”符号把字符串包围起来,那么,中间的字符串就可以使用双引号等原本需要转义的字符了。
那么,name2字符串又是怎么回事呢?这是为了解决恶性循环的问题——如何在原始字符串里使用额外的 ( 字符呢?
于是,我们可以在“(中间添加一个*号,在)”中间也添加一个*,也就是变成这样:R”*(…..中间很多字符串….)*”
于是就可以在字符串中间使用 ( 等字符了。
其实不一定得加*号,可以加其他东西,而且可以加好几个,随你喜欢,但也有限制,不能加空格、左右括号、斜杠和控制字符。

4.结构体

结构体应该算是类的前身吧~
比较简单,不多说了,随便看看:

复制代码 代码如下:

// 定义
struct BadMan
{
    char name[]; // 也可以使用 std::string name; 但可能有些编译器不支持
    int age;
    long money;
};
// 使用
BadMan man1 =
{
    "mutou",
    18,
    99999999
};
man1.money = 88888888;

好吧,不多说了~

5.共用体

人格分裂听过吗?
没听过吧~人格分裂就是好几个人的灵魂存在于同一个身体里,同时只能有一个灵魂在控制身体。(小若:瞎说~!)
 
C++也有这样的东西,那就是共用体,看代码:

复制代码 代码如下:

union ManyOne
    {
        int age;
        long money;
        float girl;
    };
    ManyOne mOne;
    mOne.age = 25;
    std::cout << mOne.age << "\n\n";
    mOne.money = 999990;
    std::cout << mOne.age << "\n";
    std::cout << mOne.money << "\n";

输出结果是:

复制代码 代码如下:

25
999990
999990

共用体和struct很像,唯一有一点区别,那就是,共用体里的属性只能同时存在一个。

比如刚刚的代码,虽然age在之前赋值为25,但是一旦给其他属性赋值,那么age的值将不被保留。
因为他们使用的是同一个空间,这点要记住。

因为共用体的所有属性都是使用一个存储空间的,所以共用体占内存的大小是以需要最大存储空间的成员为准的。
 
也许第一次听说共用体的人会迷糊,其实共用体可以想象成是一个变量有多个名字,我们可以用不同的名字去使用它们。

只不过,这不同的名字有着不相同的类型摆了。

6.结束

嗯,这本书实在是太详(lao)细(dao)了,第四章还在继续进行中。(小若:你觉得和你比起来,谁更唠叨?)

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接