摘要: 如果定义变量时没有指定初试值,则变量被默认初始化。 定义于任何函数之外的变量被初始化为0。函数体内部的内置类型变量不被初始化。 每个类各自决定其初始化对象的方式。 建议初始化每一个内置类型的变量。 阅读全文
posted @ 2017-10-09 11:49 哲贤 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 原创、转载请注明出处 默认构造函数: 结果: 调用重载的构造函数: 结果: 没有输出hi。说明不调用构造函数时才会自动调用默认构造函数。 阅读全文
posted @ 2017-10-09 11:34 哲贤 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 原创、转载请注明出处。 默认构造函数没有参数、类建立的时候自动调用。 默认构造函数和合成的默认构造函数不同,默认构造函数包含我们自定义的和编译器创建的(合成的默认构造函数)。 只有当类没有声明任何构造函数时,编译器才会自动的生成默认构造函数。合成的默认构造函数只适合非常简单的类。 阅读全文
posted @ 2017-10-09 11:10 哲贤 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 一些vs的使用、分离式编译的事项(c++控制台程序,不是空项目,空项目需要自己添加的东西太多,不好用),刚用vs写c++觉得不熟悉挺麻烦的,把自己遇到的小问题写下来,如果需要的人用得上最好。 ●main函数最后加上getchar(),控制台窗口才能显示。 ●函数、类的声明写到.h文件中,定义写到.c 阅读全文
posted @ 2017-10-08 07:49 哲贤 阅读(929) 评论(0) 推荐(0) 编辑
摘要: 原创,转载请注明出处。 为了熟悉vs环境、c++中的类写的链表 chainNode.h: chain.h: chain.cpp: 运行结果: 关键点 1.不要忘记考虑首尾特殊情况 2.区分清楚指针和指针所指对象 不足: 没有重载输出 阅读全文
posted @ 2017-10-07 11:40 哲贤 阅读(1134) 评论(0) 推荐(0) 编辑
摘要: shared_ptr是智能指针,是模板,头文件是memory: shared_ptr<string> p1 最安全的使用方法是调用make_shared标准库函数,此函数在动态内存中分配一个对象并初始化它,返回此对象的shared_ptr。头文件是memory: shared_ptr<int> p2 阅读全文
posted @ 2017-10-07 09:35 哲贤 阅读(3454) 评论(0) 推荐(0) 编辑
摘要: 尽量不用new,用智能指针 程序使用动态内存出于以下三种原因之一: 1.程序不知道自己需要使用多少对象(容器类) 2.程序不知道所需对象的准确类型(多态) 3.程序需要在多个对象间共享数据(智能指针,对象和底层数据生命周期不同) 阅读全文
posted @ 2017-10-05 15:00 哲贤 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 通常类模板的声明和定义都写到头文件中,那么为了看着清晰,类的声明和定义可以分开写到多个头文件中吗,测试: 阅读全文
posted @ 2017-10-03 09:23 哲贤 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 有函数模板的,一定是类模板。 通过给函数模板传值就可以确定类型,为什么还要通过类确定呢。然后就试了试: 上面代码想把含有函数模板的类定义成普通类,通过传值(1.2)确定类型,但是函数定义的第一行会报错。 下面是对的: 先实例化类模板,lei<int>A;执行后类中的T被int代替,因为成员函数的形参 阅读全文
posted @ 2017-10-02 22:08 哲贤 阅读(1232) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/fannyandfly/article/details/51323937 阅读全文
posted @ 2017-07-31 15:40 哲贤 阅读(129) 评论(0) 推荐(0) 编辑