![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux C++
学如逆水
慢就是快!
展开
-
LInux C++学习day01 C++语言概述 第一个C++程序 名字空间(namespace) C++的结构体、联合体和枚举 字符串
标准C++语言、QT框架《C++程序设计原理与实践》《C++Primer》一 C++语言概述1 历史背景1)C++江湖地位java、C、C++2)C++之父,Bjarne Stroustrup(1950–)1979,Cpre,为C语言增加了类的机制1983,C with Class(带类的C),后来称为C++1985,CFront1.0 《The C++ Programmin...原创 2019-05-11 18:44:17 · 157 阅读 · 0 评论 -
STL(模板学习)day03 模板特性 容器、迭代器和泛型算法 标准模板库(STL)
四、模板特性…7.编译模型…导出模型:通过export关键字,将模板声明为导出,这样编译器在对模板进行一次编译时会将该模板内部表示,缓存在.o文件中,等到链接阶段,在结合实例化该模板的具体类型,补充做二次编译,得到相应的具体函数和具体类,最后完成二进制代码的链接。但是,很遗憾,目前阶段大部分C++编译器都不支持这种做法。因此,多数情况下依然采用包含模型或者预实例化模型,解决模板的分离编译问...原创 2019-05-22 14:31:54 · 261 阅读 · 0 评论 -
Ubuntu 16.04/12.04环境配置 vim配置 C++编译环境和开发环境qtcreator配置 mysql安装配置 软件包无法正常安装更新的问题
解决软件包无法正常更新、安装的问题:打开软件更新器,勾选更新选项中的重要安全更新和推荐更新,并取消勾选其他软件无关的更新。执行以下命令即可:sodo apt-get update再重新安装即可解决问题mysql安装:ubuntu 16.04参考原博主文章参考原博主文章注意:ubuntu 12.04 编码格式更改与 ubuntu 16.04有所差异。vi配置正常模式set nu...原创 2019-05-22 00:19:56 · 248 阅读 · 0 评论 -
基于TCP客户端接和服务器端通信原理的实现
客户端tcpSocket.connectToHost(serverIp,serverPort);; connected(); write(); readyRead(); readAll();服务器端 tcpServer.listen(QHostAddress::Any,serverPort); newConnection(); ...原创 2019-05-21 23:40:51 · 843 阅读 · 0 评论 -
LInux C++学习day11 运行时类型信息 C++异常机制(Exception) I/O流
一 运行时类型信息1 typeid操作符#include typeid(类型/对象);//返回typeinfo对象1)typeinfo类包含name成员函数,可以返回字符串形式类型信息2)typeinfo类提供了“==”和“!=”操作符重载支持,可以直接类型之间的比较注:如果类型之间具有多态的继承关系,那么typeid还可以利用多态语法确定实际目标对象的类型。2 dynamic_ca...原创 2019-05-11 19:08:07 · 251 阅读 · 0 评论 -
LInux C++学习day10 多态
一…4 纯虚函数、抽象类和纯抽象类1)纯虚函数virtual 返回类型 函数名(形参表) = 0;2)抽象类如果类中包含了纯虚函数,那么该类就是抽象类注:抽象类不允许创建对象3)纯抽象类如果类中所有成员函数都是纯虚函数,那么该类就是纯抽象类.5 多态语法原理:多态语法通过虚函数表和动态绑定来实现的//了解1)虚函数表会增加内存的开销2)动态绑定的过程增加时间的开销3)虚函...原创 2019-05-11 19:07:56 · 114 阅读 · 0 评论 -
LInux C++学习day09 继承(Inheritance) 多态(polymorphic)
一 继承(Inheritance)8 多重继承1)概念一个子类可以同时基类多个基类,这样的继承方式被称为多重继承。电话 播放器 计算机\ | / 智能手机2)多重继承在向上造型时,会根据各个基类子对象 在子类对象中的内存布局,自动进行偏移计算,保证指针的类型和其指向的目标对象类型一致。//参考mul_inherit.png3)名字冲突问题–》一个的子类的多个基类如果存在同...原创 2019-05-11 19:07:47 · 139 阅读 · 0 评论 -
LInux C++学习day08 继承(Inheritance)
一 继承(Inheritance)1 继承的概念//了解通过一种机制表达类型之间共性和特性的方式,利用已有的数据类型来定义新的数据类型,这种机制就是继承.eg:人类:姓名、年龄、吃饭、睡觉学生类:姓名、年龄、吃饭、睡觉、学号、学习教师类:姓名、年龄、吃饭、睡觉、工资、讲课…------------------------------------------人类:姓名、年龄、吃饭、...原创 2019-05-11 19:07:39 · 128 阅读 · 0 评论 -
LInux C++学习day07 操作符(运算符)重载
一 操作符(运算符)重载1 基本概念操作符重载的本质就是一个写具有特殊名称的函数,使用operator 后接一个操作符,比如“operator=” “operator+”,把已定义的符号来重新定义,实现程序员想要的运算功能.eg:复数 x+yi(1+2i) + (3+4i) = 4+6i2 双目操作符重载 L#R2.1 计算类双目操作符:+ -–》左右操作数既可以是左值也可以是右值...原创 2019-05-11 19:07:28 · 259 阅读 · 0 评论 -
LInux C++学习day06 拷贝构造和拷贝赋值 静态成员(static) 成员指针 操作符(运算符)重载
一 拷贝构造和拷贝赋值1 浅拷贝和深拷贝1)如果类中包含指针形式的成员变量,缺省的拷贝构造函数只是复制了指针变量本身,没有复制指针所指向的内容,这种拷贝方式称为浅拷贝.2)浅拷贝将导致不同对象间的数据共享,如果数据在堆区,析构时还可能会出现“double free”的错误,导致进程终止,所以必须自己定义一个支持复制指针所指向内容的拷贝构造函数,即深拷贝.2 拷贝赋值1)当两个对象进行赋值...原创 2019-05-11 19:07:19 · 172 阅读 · 0 评论 -
LInux C++学习day05 this指针和常成员函数(常函数) 析构函数(Destructor) 拷贝构造和拷贝赋值
补充需要显式使用初始化列表的场景:–》类中包含引用或const型的成员变量,必须要使用初始化列表来初始化.–》成员变量的初始化顺序由声明顺序决定,而与初始化列表的顺序无关,所以不要使用一个成员变量去初始化另一个成员变量.一 this指针和常成员函数(常函数)1 this指针1)类中的成员函数(包括构造函数、析构函数)中都隐藏一个当前类类型的指针参数,名为this,在成员函数中访问类中的...原创 2019-05-11 19:07:10 · 148 阅读 · 0 评论 -
LInux C++学习day04 类定义与实例化 构造函数和初始化列表
一 类定义与实例化1 类的一般语法形式struct/class 类名:继承方式 基类,…{访问控制限定符:类名(形参表):初始化列表{}//构造函数~类名(void){}//析构函数返回类型 函数名(形参表){}//成员函数数据类型 变量名;//成员变量};2 访问控制限定符1)public:公有成员,任何位置都可以访问2)private:私有成员,只有类内部的成员函数才能访...原创 2019-05-11 19:07:00 · 314 阅读 · 0 评论 -
LInux C++学习day03 引用(reference) 类型转换 类和对象 类定义与实例化
一 引用(reference)…3 引用型函数参数1)可以将引用用于函数的参数,这时形参就是实参的别名,通过形参可以直接修改实参变量的值,同时还可以避免传参的过程,减小函数调用开销,提高代码执行效率。2)引用型函数参数有可能意外的修改实参值,如果不希望修改实参本身,可以将形参声明为常引用,提高传参效率的同时还可以接收常量型的实参。4 引用型函数返回值1)可以将函数的返回类型声明为引用,...原创 2019-05-11 19:06:49 · 201 阅读 · 0 评论 -
LInux C++学习day02 C++的布尔类型bool 操作符别名 C++的函数 C++的动态内存管理 C++的引用(reference)
C++的布尔类型bool1 bool类型是C++中的基本数据类型,专门表示逻辑值,使用true表示逻辑真,使用false表示逻辑假2 bool类型在内存占一个字节:1表示true,0表示false3 bool类型变量可以接收任何类型表达式结果,其值非零则为真,为0则为假。操作符别名//了解&& <> and|| <> or^ <>...原创 2019-05-11 18:43:08 · 231 阅读 · 0 评论 -
STL(模板学习)day04 标准模板库(STL)
六、标准模板库(STL)…2.向量(vector)…2)迭代器…begin()begin() constend()end() constrbegin()rbegin() constrend()rend() const - 反向只读终止迭代器begin - 起始end - 终止没有const - 可写const - 只读没有r - 正向r - 反向正向迭代器:...原创 2019-05-22 14:40:04 · 139 阅读 · 0 评论