
C++
Mr__Student
利用优快云打造自己的知识库和个人标签
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++学习笔记(一)——C++与C的区别
C++学习笔记(一)在Centos上安装C++编译器g++的安装 sudo yum install gcc-c++测试方法,编写一个简单的test.cc文件后在命令行中输入:g++ test.cc,后回车如果有出错信息(说明你的test.cc文件存在错误)或者是test.cc程序运行出的结果则说明g++已经安装上。如果没有安装上,则输入下面两个指令进行安装:sudo apt-get upda...原创 2019-02-02 11:08:37 · 354 阅读 · 0 评论 -
C++学习笔记(十三)——模板
C++学习笔记(十三)——模板原创 2019-02-26 10:25:52 · 297 阅读 · 0 评论 -
C++学习笔记(八)——友元
C++学习笔记(八)——友元友元实现的是在类外访问类的私有成员。其关键字为friend。使用时可包括有以下几个操作:0、声明该友元;1、声明该类;2、在类中声明该友元并实现该类;3、实现该友元。依据友元的不同实现可以将友元分为以下三类:普通友元函数:操作2 -> 操作3成员友元函数:操作1 -> 操作0 -> 操作2 -> 步骤3友元类:操作0 -&gt...原创 2019-02-14 10:54:14 · 271 阅读 · 0 评论 -
C++学习笔记(十四)——STL(1)
C++学习笔记(十四)——STL(1)STL,即Standard Template Library,不是面向对象的编程,而是一种新的编程模式:泛型编程(Generic Programming)。STL是C++标准库的组成部分,STL是很庞大复杂的系统,单单就STL就可写出厚达千页的技术书籍,所以,本系列的重点只在于介绍泛型编程的思想和本质,介绍一些常用的方法,为初学者学习STL提供一些感性认识,...原创 2019-03-01 20:30:02 · 157 阅读 · 0 评论 -
setsockopt用法描述
setsockopt用法描述功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#i...转载 2019-04-06 15:40:13 · 647 阅读 · 0 评论 -
如何使用cin循环接收不确定长度的输入
在看c++ primer 的过程中,书中很多代码有类似 while(cin)的代码,但在自己练习过程中发现很多问题,例如不知道如何跳出循环(ctrl+z)、退出循环后丢失字符等等。但后来在不同地方看到的一些例子,找到了几种控制方法,其中有自己想的比较笨的方法,也有其他人demo中的方法,这次做个小结。//对单个对象的操作while(cin >> i)dosomething;//...转载 2019-09-21 10:59:49 · 1143 阅读 · 1 评论 -
C++学习笔记(七)——log4cpp
C++学习笔记(七)——log4cpplog4cpp的下载与安装1.下载log4cpp-1.1.1.tar.gz2. 安装:先将log4cpp-1.1.1.tar.gz拖入用户主目录,然后再执行以下步骤:$ sudo cp log4cpp-1.1.1.tar.gz /usr/local$ su# cd /usr/local# tar zxvf log4cpp-1.1.1.tar.g...原创 2019-02-13 10:14:30 · 404 阅读 · 0 评论 -
C++学习笔记(十)——单例模式的三种实现
C++学习笔记(十)——单例模式的三种实现原创 2019-02-19 21:37:01 · 412 阅读 · 0 评论 -
C++学习笔记(二)——程序在内存中分配方式
C++学习笔记(二)——程序在内存中分配方式C++程序的不同元素在内存中分配的位置不同会影响这些元素的访问权限、生命周期以及访问地址。只有理解了C++程序在内存中分配方式才能够编写出更加优质的程序,理解有关内存的出错信息。本文的讲解核心就是通过程序示例理解《深入理解计算机系统(原书第三版)》的第13的图1-13(进程的虚拟地址空间),之后再对该图做些深入的扩展。进程的虚拟地址空间如下图所示(...原创 2019-02-07 16:07:16 · 336 阅读 · 0 评论 -
C++学习笔记(三)——类与对象
面向对象第一课——类与对象本此文章讲解以下5点:如何创建一个C++类;类的一般方法调用;类的构造函数与初始化表达式;类的析构函数;类的复制构造函数;如何创建一个C++类示例代码如下:class name{public:...private:...protected:...};类的一般方法调用类的构造函数与初始化表达式类的析构函数类的复制构造函数...原创 2019-02-07 21:04:31 · 261 阅读 · 0 评论 -
C++学习笔记(十一)——PIMPL设计模式
C++学习笔记(十一)——PIMPL设计模式原创 2019-02-23 16:19:53 · 422 阅读 · 0 评论 -
C++学习笔记(十二)——写时复制(代理模式的一个示例)
C++学习笔记(十二)——代理模式原创 2019-02-24 20:34:02 · 467 阅读 · 0 评论 -
C++学习笔记(四)——栈,队列与单例模式
C++学习笔记(四)——栈,队列与单例模式本文通过原理解释与代码实现两个方面来解释栈、队列与单例模式。栈的原理与实现栈是一种==“先进后出”==的数据结构,示意图如下图(图一):图一就是一个栈的示意图,该栈的大小为8,现有6个元素。栈顶(_top)元素为5。对栈的操作有:初始化:创建一个空栈压栈:将一个元素放入栈中出栈:将栈顶元素拿出栈判空:判断栈是否为空清空:清空栈的所有元...原创 2019-02-10 14:57:03 · 330 阅读 · 0 评论 -
C++学习笔记(五)——使用new/delete创建栈/堆对象
C++学习笔记(五)——使用new/delete创建栈/堆对象创建栈对象,类中必须要由构造函数与析构函数(系统默认给的也可以),创建堆对象,除了类中必须要由构造函数与析构函数(系统默认给的也可以)外,还有一个条件就是new/delete可用。不论是只能创建栈对象还是只能创建堆对象,都必须要理解new/delete的工作机理才可以。new/delete的工作机理使用new表达式时发生的三个步骤...原创 2019-02-10 16:02:51 · 1156 阅读 · 0 评论 -
C++学习笔记(六)——C++输入输出流
C++学习笔记(六)——C++输入输出流C++语言的输入输出机制包含3层,前两层是从传统的C语言继承而来,分别是底层I/O和高层I/O,第3层是C++中增添的流类库,这是本章讨论的重点。(1)底层I/O:底层I/O依赖于操作系统来实现,调用操作系统的功能对文件进行输入输出处理,具有较高的速度。底层I/O将外部设备和磁盘文件都等同于逻辑文件,采用相同的方法进行处理,一般过程为“打开文件”、“读写文...原创 2019-02-11 16:00:44 · 1853 阅读 · 3 评论 -
C++学习笔记(九)——运算符重载
C++学习笔记(九)——运算符重载C++内部定义的数据类型(int , float, …)的数据操作可以用运算符号来表示,其使用形式是表达式;用户自定义的类型的数据的操作则用函数表示,其使用形式是函数调用。为了使对用户自定义数据类型的数据的操作与内置的数据类型的数据的操作形式一致,C++提供了运算符的重载,通过把C++中预定义的运算符重载为类的成员函数、友元函数或普通函数,使得对用户的自定义数据...原创 2019-02-17 16:35:24 · 301 阅读 · 0 评论 -
Liunx创建与使用静态库和动态库
原理我们编写的代码要经过预编译→编译→汇编→链接后才会生成可执行文件。静态库与动态库的区别就在于其在链接阶段的链接方式不同。静态库会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中。因此对应的链接方式称为静态链接。而动态库在程序链接时并不会被复制到目标代码中,而是在程序运行是才被载入。不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例,规避了空间浪费问题。动态库...原创 2019-09-21 14:40:41 · 150 阅读 · 0 评论