博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++的一点小总结
阅读量:2397 次
发布时间:2019-05-10

本文共 1014 字,大约阅读时间需要 3 分钟。

个人的一点小总结,本人对c++也不是很熟,所以有可能说的不是很正确 :

1.c++中不支持对 string 类直接做 %s 输出操作,须调用 c_str() 函数将 string 转化为 const char * 形   然后才可以 %s 输出

c++字符串的拼接

string name1 = "hello";

    int age = 123;

    char buffer[80];

    const char * name = name1.c_str();    

    sprintf(buffer, "%s%d", name, age); 

    CCLOG("%s",buffer);

2.在c++中,struct与class的惟一区别在于:struct默认是public的,而class默认是private。

3.定义静态成员的格式不能重复static关键字,但必须在成员名前冠以类名加域操作符,以表示该成员的类属。如果不将其初始化,则系统将为该成员清0;

(静态成员的初始化貌似必须在类外进行:我试了下,如果直接写成这样的会报错: static int number = 0;)

4.每个派生类对象所占有的存储空间的大小等于其基类部分的所有(自:包括私有数据成员)数据成员占有的存储空间的大小与新定义部分的所有数据成员占有的存储空间大小的总和,并且前面的存储空间分配给基类部分的数据成员使用,后面的存储空间分配给新定义部分的数据成员使用。

5.你可能没见过的输出形式:

6.在声明构造函数时( Box(int h = 10,int w = 10,int len = 10) ) ,形参名可以省略,即写成:

Box(int=10,int=10,int=10);   (注:我试了,=号两边无空格也是正确的)

7.自:一般来说:对于构造函数和析构函数遵循先构造的后析构,后构造的先析构 原则。但这句话并不总是正确

例如:在一个函数中定义了两个对象:

fn()

{

Student stud1;

static Student stud2;

...

}

在调用fn函数时,先调用stud1的构造函数,再调用stud2的构造函数,当fn调用结束时,stud1是要释放的(因为它是自动局部对象),因此调用stud1的析构函数。而stud2是静态局部对象,在fn调用结束时并不释放,因此不调用stud2的析构函数。直到程序结束释放stud2时,才调用stud2的析构函数。

转载地址:http://oduob.baihongyu.com/

你可能感兴趣的文章
C/C++编程知识分享:C++四种强制转换,教你多种类型转换方式!
查看>>
全球最厉害的 14 位程序员,你知道几位呢?最厉害的研究出了它!
查看>>
C/C++基础语法复习(二):C++ 面向对象编程,你需要知道的点
查看>>
简述 C语言 有和 C++ 的基本区别,你真的懂吗?(新手面试必学)
查看>>
刚进职场的程序员,请万分珍重你的第一份工作,不要轻易辞职!
查看>>
C/C++之QT攻略——在QT中容易遇到的那些坑,千万别踩了!
查看>>
@90后程序员,“颜值即正义”的现在,程序员应该如何更新穿搭?
查看>>
程序员须知:必须建立个人知识库,它的重要性你需要了解一下!
查看>>
C/C++知识分享番外:如何申请一个腾讯地图用户Key?
查看>>
程序员提高编程技术最有效的一件事?了解一下,迅速提升自己!
查看>>
程序员想找工作怎么办?如果记住这一点,不怕找不到好工作!
查看>>
程序员找工作时,大公司 VS 小公司,应该如何做出正确的选择?
查看>>
适合编写C语言代码的编程软件有哪些?大学生赶紧行动起来!
查看>>
即将步入2020年,程序员如何在新的一年更进一步?你需要这样做
查看>>
编程萌新注意:别再这样问问题了!学会这样快速定位错误内容
查看>>
C/C++编程笔记:经典游戏植物大战僵尸游戏辅助,源码送上
查看>>
五步轻松搞定Linux下的文件同步(备份)
查看>>
从Socket编程看HTTP服务器设计
查看>>
Java SPI机制原理和使用场景
查看>>
Mysql explain-type使用详解
查看>>