随笔分类 -  C++相关

C++中的友元——友元函数、友元类、友元成员函数
摘要:有些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍阻止一般的访问,这是很方便做到的。例如被重载的操作符,如输入或输出操作符,经常需要访问类的私有数据成员。 友元(frend)机制允许一个类将对其非公有成员的访问权授予指定的函数或者类,友元的声明以friend开始,它只能出现在类定义的内部, 阅读全文

posted @ 2019-05-19 10:25 Hello-World3 阅读(354) 评论(0) 推荐(0) 编辑

C/C++多线程
摘要:一、pthread_once使相关代码只执行一次 这个函数使用初值为PTHREAD_ONCE_INIT的once_control变量保证init_routine()函数在本进程执行序列中仅执行一次。 #include <iostream> #include <pthread.h> #include 阅读全文

posted @ 2019-05-01 09:56 Hello-World3 阅读(338) 评论(0) 推荐(0) 编辑

C++中的内部类
摘要:1.内部类的概念 如果一个类定义在另一个类的内部,这个内部类就叫做内部类。注意此时这个内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去调用内部类。外部类对内部类没有任何优越的访问权限。 也就是说:内部类相当于外部类的友元类。注意友元类的定义,内部类中的方法可以通过外部类的对象参数来访问 阅读全文

posted @ 2019-04-25 21:57 Hello-World3 阅读(4161) 评论(0) 推荐(0) 编辑

Java和C++的区别杂记
摘要:1.java中的作用域描述符(类比于C++是通过"."来实现,Java中"类名.静态成员名",C++中"类名::静态成员名" 2.java中子类中不能修改继承到的成员的权限,但是C++中是可以的。 3.java中接口中声明的函数前需要加public 4.static方法,java中通过"类名.方法名 阅读全文

posted @ 2019-04-06 23:35 Hello-World3 阅读(138) 评论(0) 推荐(0) 编辑

C++中的智能指针、轻量级指针、强弱指针学习笔记
摘要:一、智能指针学习总结 1.一个非const引用无法指向一个临时变量,但是const引用是可以的! 2.C++中的delete和C中的free()类似,delete NULL不会报"double free"的oops。 int main(int argc, char **argv) { int i; 阅读全文

posted @ 2019-04-03 00:10 Hello-World3 阅读(3288) 评论(0) 推荐(0) 编辑

C++中的const关键字
摘要:一、const引用 1. 例子一 执行结果: 1.拷贝构造函数没有使用但是其参数必须是const引用的原因: sp other = new sp();① new sp()生成一个sp*的临时指针变量。② 然后使用这个临时的sp*为参数调用构造函数sp(sp *other)构造出一个临时的sp对象。③ 阅读全文

posted @ 2019-04-02 22:13 Hello-World3 阅读(210) 评论(0) 推荐(0) 编辑

C++中的异常
摘要:一、异常学习笔记 1.函数B可能抛出多种异常的处理方法 a.函数A中可有多个catch分支。catch分支中,对于异常对象,先捕获派生类对象,再捕获基类对象,按此顺序排放代码. 因为派生类对象可以隐式转换为基类对象,若想分别处理基类和派生类对象,应该将派生类对象的处理放在前面。 b.未能捕获的异常, 阅读全文

posted @ 2019-03-31 22:37 Hello-World3 阅读(291) 评论(0) 推荐(0) 编辑

C++中的类模板
摘要:一、学习笔记 1.类模板的格式(1)声明 (2)定义 注意:函数模板和类模板都是typename, 函数模板中template<typename T1, typename T2> 指定两个变量也是可以的。 2.类模板的使用(1)可以在实例化对象的时候再实例化类模板,eg:AAA<int> a;AAA 阅读全文

posted @ 2019-03-31 21:16 Hello-World3 阅读(259) 评论(0) 推荐(0) 编辑

C++中的函数模板
摘要:一、学习笔记 1.函数模板的定义template<类型参数表>返回值 函数名(数据参数表) { 函数模板定义体;} 作用:数模板可以使相似的代码重复使用,使用类型作为参数。 2.函数模板的使用(1)函数模板只是编译指令,一般写在头文件中;(2)编译程序时,编译器根据函数的参数来“推导”模板的参数, 阅读全文

posted @ 2019-03-31 18:01 Hello-World3 阅读(238) 评论(0) 推荐(0) 编辑

C++中的ravalue学习笔记
摘要:一、学习笔记 1. A a = 42; 会先以42为参数构造一个A类对象,然后调用拷贝构造函数来构造a,目前编译器优化掉了拷贝构造函数的调用,测试拷贝构造函数是没有被调用的,但是其权限不能为private的,即使提供了重载的拷贝构造函数(其它没有调用到的构造函数可以被设置为private的) 2. 阅读全文

posted @ 2019-03-31 17:26 Hello-World3 阅读(190) 评论(0) 推荐(0) 编辑

C++中的抽象类
摘要:一、抽象类学习笔记 1.virtual修饰函数(虚函数)后面加=0就称为一个纯虚函数,一个类中只要有纯虚函数那么它就是一个抽象类。抽象类不能用来实例化对象,是用来给他的派生类定义好这些框架的,给使用这个类的程序定义好接口。 2.抽象类中可以部分是纯虚函数,部分是实现好的函数。 3.若派生类没有全部实 阅读全文

posted @ 2019-03-31 11:57 Hello-World3 阅读(2534) 评论(0) 推荐(0) 编辑

C++中的显式类型转换
摘要:一、学习总结 1.C++中额外提供的类型转换有 (1) reinterpret_cast: 格式:reinterpret_cast<type-id> (expression)①type-id必须是一个指针、引用、算术类型、函数指针或成员指针。②可以把一个指针转换成一个整数,也可以把一个整数转换成指针 阅读全文

posted @ 2019-03-30 22:29 Hello-World3 阅读(326) 评论(0) 推荐(0) 编辑

C++中的继承和多继承
摘要:继承、权限 阅读全文

posted @ 2019-03-30 17:13 Hello-World3 阅读(397) 评论(0) 推荐(0) 编辑

C++中的多态
摘要:一、学习笔记 1.若子类中实现的函数和父类中的函数签名且函数名字一样,是复写。若函数参数不一样是重载。 2.虚函数在函数声明前加virtual关键字的函数称为虚函数,若子类复写这个虚函数(前面加不加virtual声明无所谓),无论其前面有没有加virtual都是虚函数。 3.多态中的虚函数编译器实现 阅读全文

posted @ 2019-03-30 16:41 Hello-World3 阅读(144) 评论(0) 推荐(0) 编辑

C++编译器报错汇总
摘要:1.error: ‘Person’ was not declared in this scope(1)若是一个类或函数的命名空间对使用者不可见(2)成员(静态)函数没有通过对象名或类名进行调用(3)虽然指定了命名空间,但是没有包含头文件 2.‘Point’ is not derived from ‘ 阅读全文

posted @ 2019-03-24 12:28 Hello-World3 阅读(509) 评论(0) 推荐(0) 编辑

重拾C++第一天
摘要:1.面向对象编程的三大特点:封装、继承、多态 2.C++中若不指定类中成员的访问权限默认就是private的(class默认是private的,struct默认是public的)。 3.C++规范中类的名字的首字母应该大写。 4.C++中的this是个指针,指向当前类或对象。(注意C++中this是 阅读全文

posted @ 2019-03-24 12:26 Hello-World3 阅读(178) 评论(0) 推荐(0) 编辑

C++问题汇总
摘要:1.C++中类相互调用注意事项 (1)若A类中的方法需要调用B类中的函数,那么A类的源文件(或头文件)中需要包含B类的classs声明头文件。若使用了命名空间,还需要在B类的源文件(或头文件)中使用 using ...::A(从顶层命名空间一直到A类)。 若B类中的方法在类外实现,调用A类的方法时需 阅读全文

posted @ 2019-03-22 20:25 Hello-World3 阅读(239) 评论(0) 推荐(0) 编辑

namespace关键字学习笔记
摘要:一、namespace简介 namespace中文意思是命名空间或者叫名字空间,传统的C++只有一个全局的namespace,但是由于现在的程序的规模越来越大,程序的分工越来越细,全局作用域变得越来越拥挤,每个人都可能使用相同的名字来实现不同的库,于是程序员在合并程序的时候就会可能出现名字的冲突。n 阅读全文

posted @ 2019-02-20 12:13 Hello-World3 阅读(344) 评论(0) 推荐(0) 编辑

导航