自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

烟笑言子彦的博客

Life is a balance between holding on and letting go

  • 博客(32)
  • 资源 (4)
  • 收藏
  • 关注

原创 学习路线安排

一 基本语法的学习(这部分的学习,不要拖太久,一鼓作气,拿下)C语言最重要的是,指针和内存管理。推荐书籍:《C和指针》《C专家编程》C++面向对象的特性,封装,继承,多态,泛型,模板,STL库,Boost库,函数式编程推荐书籍:《Essential C++》《C++Primer》《Effective C++》《More Effective C++》《C++标准程序库》《深度探索C++对象...

2020-03-31 19:48:44 157

原创 《后台开发 核心技术与应用实践》 第七章,网络IO模型总结

IO有两种操作:同步IO和异步IO同步IO: 必须等待IO操作完成后,控制权,才返回给用户进程。异步IO:无需等待IO操作完成,就将,控制权,返回给用户进程。四种网络IO模型 1 阻塞IO模型 2 非阻塞IO模型 3 多路IO复用模型 4 异步IO模型 阻塞和非阻塞,描述用户线程调用内核IO操作,的方式阻塞:是指IO操作需要,彻底完成后,才返回到用户空间非阻塞:是指I...

2020-03-20 19:32:50 232

原创 虚拟机与主机共享目录

#在安装好vm-tools之后 ls /mnt/hgfs/ #先查看一下有没有 vmware-hgfsclient #查看设置的共享目录 sudo vmhgfs-fuse .host:/ /mnt/hgfs/ #挂载共享目录 sudo ls /mnt/hgfs/ #可以看到挂载成功#还可以使用挂载,才能以普通用户访问sudo vm...

2020-04-23 08:37:19 141

原创 VMware Fusion Ubuntu18.04 NAT无法连网解决方案

sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stopsudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start

2020-04-13 11:16:22 465

原创 【受益代码1】C++

int ask() {return 12;}typedef decltype (ask) * function_ptr;class convertible_to_function_ptr{public: operator function_ptr() const { return ask; }};int main(int argc,char* argv[]){ aut...

2020-04-07 12:35:52 152

原创 C++11特性

右值引用与 std::move某些场景使用 rvalue ref 有更高的性能; 右值可以简单理解为”即将作废的对象”std::string tmp(“bert”);std::string name(tmp);赋值过去之后,tmp如果不再用,就会有浪费,拷贝”bert”字符串似乎是个浪费。所以在 cpp11 中引入了右值引用,解决这一问题:std::string tmp(“bert...

2020-04-03 09:58:07 112

原创 C++对象数组

这两个动态分配出来的 CTest 对象又分别是用构造函数(1)和构造函数(2)初始化的。pArray[2] 没有初始化,其值是随机的,不知道指向哪里。

2020-03-30 17:26:40 199

原创 C++类和对象

类只是一个模板(Template),编译后不占用内存空间,所以在定义类时不能对成员变量进行初始化,因为没有地方存储数据。只有在创建对象以后才会给成员变量分配内存,这个时候就可以赋值了。#include <iostream>using namespace std;//类通常定义在函数外面class Student{public: //类包含的变量 char ...

2020-03-30 17:04:41 98

原创 C++多次声明同一函数

需要提醒的是,第二次声明时不能再次给 c 指定默认参数,否则就是重复声明同一个默认参数。

2020-03-30 16:02:33 1317

原创 C++中inline,内联函数

为了消除函数调用的时空开销,C++ 提供一种提高效率的方法,即在编译时将函数调用处用函数体替换,类似于C语言中的宏展开。这种在函数调用处直接嵌入函数体的函数称为内联函数(Inline Function),又称内嵌函数或者内置函数。#include <iostream>using namespace std;//内联函数,交换两个数的值inline void swap(int ...

2020-03-30 13:08:36 186

原创 malloc/free 和 new/delete

int *p = (int*) malloc( sizeof(int) * 10 ); //分配10个int型的内存空间free(p); //释放内存int *p = new int; //分配1个int型的内存空间delete p; //释放内存int *p = new int[10]; //分配10个int型的内存空间delete[] p;...

2020-03-30 12:50:55 71

原创 C++中的cin/cout,认识理解

cout 和 cin 都是 C++ 的内置对象,而不是关键字。C++ 库定义了大量的类(Class),程序员可以使用它们来创建对象,cout 和 cin 就分别是 ostream 和 istream 类的对象,只不过它们是由标准库的开发者提前创建好的,可以直接拿来使用。这种在 C++ 中提前创建好的对象称为内置对象。iostream 是 Input Output Stream 的缩写,...

2020-03-30 12:04:56 1405

原创 C++中的std,一点理解

#include <iostream>void func(){ //必须重新声明 using namespace std; cout<<"Hello World"<<endl;}int main(){ //声明命名空间std using namespace std; cout<<"C++"<...

2020-03-30 11:58:23 416

原创 C++中的this指针,总结

this指针每个对象拥有一个this指针,通过this指针来访问自己的地址。this指针并不是对象的一部分,this指针所占的内存大小是不会反应在sizeof操作符上的。this指针只能在成员函数中使用,全局函数、静态函数都不能使用this指针this指针在成员函数开始执行前构造,在成员函数执行结束后销毁。this 虽然用在类的内部,但是只有在对象被创建以后才会给...

2020-03-30 10:59:23 209

原创 C++中使用const,格式总结

指向常量的指针变量指向常量的指针变量,只是限制了指针变量,不能改变,它指向的对象的值。int a = 1;int b = 2;const int* p = &a;*p = 5;//错误,无法通过p来改变a的值p = &b;//正确,p的指向可以进行修改a = 5;//正确常指针常指针,指定指针变量的值是常量,指针常量的指向不能改变。int ...

2020-03-30 10:02:57 202

原创 预备知识

C++标准模板库(STL)1. vector 变长数组#include<vector>vector<typename> name;vector<vector<int> > name;// > >之间一定要加空格,否则,在C++11之前会视为移位访问方式: 1.下标访问 vector<typename> v; v[1...

2020-03-29 12:14:20 92

原创 C++中使用for语句,格式总结

语法for ( init; condition; increment ){ statement(s);}init:首次被执行,而且只执行一次,可以不写,只要有一个分号出现即可。condition:会判断condition,真,执行循环体,假,不执行循环体increment:执行完循环体,控制流跳转到increment,更新循环控制变量,可以留空,只要在条件后出现分号即可。...

2020-03-28 17:49:23 2866

原创 面向对象的C++,需要掌握的

封装,继承,多态类的封装性数据隐藏,提供接口构造函数构造函数分为,不带参数的构造函数 带参数的构造函数析构函数静态数据成员静态成员函数:static int volume();this指针指向本类对象的指针,它的值是,...

2020-03-28 16:59:05 86

原创 C++编程常用技术,基础内容

//一切的开端!#include<iostream>using namespace std;int main(){ cout<<"Helllo World"<<endl; return 0;}// g++ helloworld.cpp函数函数重载函数模板:建立一个通用函数 template<typename T>数组...

2020-03-27 20:27:00 145

原创 我见到的,对并发与并行,最好的理解

参考:《七周七并发模型》Rob Pike 的经典描述:并发,是同一时间,应对(dealing with)多件事情的能力;并行,是同一时间,动手做(doing)多件事情的能力...

2020-03-26 21:18:32 131

原创 后台开发工程师--技术能力体系图

2020-03-26 16:50:06 650

原创 安装YouCompleteMe,超简单,两个命令搞定!

//YouCompleteMe sudo apt install vim-youcompleteme sudo vim-addons vim-youcomplete//点个赞,再走哈

2020-03-24 21:55:40 2202 7

原创 C语言,栈(Stack)和堆(Heap)

栈内存是程序自动管理的,不能使用 delete 删除在栈上创建的对象;堆内存由程序员管理,对象使用完毕后可以通过 delete 删除。

2020-03-21 15:15:19 316

原创 《C++STL标准程序库开发指南》第十三章,仿函数(未完待续,不是很懂)【整本书的精华所在】

仿函数(函数对象),仿函数也称为函数数符。仿函数的英文:FunctionObjects,即函数对象。仿函数是将函数作为参数传递的使用方式,例如:逻辑谓词,算术运算,抽取信息等。仿函数的概述...

2020-03-20 19:50:20 93

原创 《C++STL标准程序库开发指南》第五章,迭代器(Iterator)

迭代器是连接容器和算法的纽带,它为数据提供一个抽象的观点迭代器提供了一个数据访问的标准模型,缓解了要求容器提供一组更广泛的访问操作的压力。迭代器是C++的指针。类型分别为: 1 输入, 2 输出, 3 前向, 4 双向, 5 随机访问头文件<iterator>简述1 输入型迭代器2 输出型迭代器3 前向迭代器...

2020-03-17 16:22:44 130

原创 《C++STL标准程序库开发指南》第四章,C++中的算法

以有限的步骤解决逻辑或数学上的问题,称为算法。算法大致分为: 1 基本算法, 2 数据结构的算法, 3 数论与代数算法, 4 计算几何算法, 5 图论算法, 6 动态规划 7 数值分析, 8 加密算法, 9 排序算法, 10 检索算法, 11 随机化算法, 12 并行算法 13 等一系列算法 STL的算法库分为4种: ...

2020-03-17 14:12:47 140

原创 《C++STL标准程序库开发指南》第三章,容器

本章重点介绍,各种容器的定义和使用方法。容器是,用来存储和组织其他对象的对象。容器适配器,严格地说并不是容器,而是,使用容器的对象,是在容器的基础上发展起来的。作为容器的成员,必须满足的三个条件:1 元素必须是可复制的。所有容器均会产生1份元素副本,不会发生alias现象; 所有容器操作为传回的均是其元素的副本。这导致复制构造函数的执行非常频繁。2 元素必须是可指派(as...

2020-03-16 17:32:02 176

原创 《C++STL标准程序库开发指南》第二章,C++中的字符串

讲述,C++标准程序库中的字符串处理类 string该类包含大量方法,包含若干构造函数,用于字符串赋给变量合并字符串比较字符串访问各个元素的重载操作符查找字符和子字符串的方法,等。C++从C继承的字符串概念,仍然以'\0'为结束符的char数组。C++标准库中的 string class 可以将string作为一个型别,实现复制,赋值,比较,不必担心内存大小及占用内存实际长度等具...

2020-03-15 16:09:34 139

原创 《C++STL标准程序库开发指南》第一章,类模板简介

面向过程的程序设计,主要是,考虑解决问题的先后顺序,措施安排等,具有典型的过程性。面向对象的程序设计,主要是,建立在各种对象基础的软件开发,每一个具有独立特性和相应功能的个体均可以,作为一个对象加以处理。面向对象(Object Oriented,OO)文件头文件<fstream>ifstream 和 wifstream 用来读取文件ofstream 和 wofstrea...

2020-03-15 12:05:10 213

原创 学习路线安排(C/C++)

基础阶段C/C++编程语言《Effective C++》必看,《STL源代码剖析》推荐看,《深度探索C++对象模型》选择性看Linux基础《鸟哥的Linux私房菜-基础学习篇》,《跟我一起学makefile》数据结构与算法《大话数据结构》,《数据结构和算法分析:C++描述》脚本语言lua,入门书籍《lua程序设计》 和深入原理书籍《lua设计与实现》...

2020-02-28 10:21:12 135

原创 traits技术,一个简单的例子(STL)

STL标准模板库非常强调软件的复用,traits技术是非常重要的,traits是特性的意思,就像,特征萃取机,提取不同类的共性,以便能统一处理。traits依靠显式模板特殊化,把代码中因不同类型不同而发生变化的片段,拖出来,用统一的接口来包装。这个接口,可以包含一个C++类所能包含的任何东西,如内嵌函数,成员函数,成员变量。作为客户的模板代码,可以通过traits模板类所能公开的接口,来间接访问。...

2020-02-27 17:05:12 196

原创 函数形参三种形式及其比较(C++)

以代码为例,自定义swap函数,说明三种形式,对实参的交换结果void swap(int a,int b);#include <iostream>using namespace std;void swap(int p,int q){ int temp; temp =p; p =q; q = temp;}int main(){ ...

2020-02-27 16:40:35 468

shiyanlou-迭代器-code 下午6.48.11.tar

mySTL源代码实验楼

2020-03-31

mongols 文档手册.pdf

mongols 文档手册

2020-03-31

linux-2.6.8.1.tar.bz2

linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2linux-2.6.8.1.tar.bz2 Linux内核

2020-03-22

linux-2.6.8.1.tar.gz

linux-2.6.8.1.tar.gz Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码Linux内核源码

2020-03-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除