摘要: 言 私以为个人的技术水平应该是一个螺旋式上升的过程:先从书本去了解一个大概,然后在实践中加深对相关知识的理解,遇到问题后再次回到书本,然后继续实践……接触C++并发编程已经一年多,从慢慢啃《C++并发编程实战》这本书开始,不停在期货高频交易软件的开发实践中去理解、运用、优化多线程相关技术。多线程知识 阅读全文
posted @ 2021-05-21 11:47 恋恋西风 阅读(630) 评论(0) 推荐(0) 编辑
摘要: 1.智能指针通过RAII方法来管理指针:构造对象时,完成资源初始化;析构对象时,对资源进行清理及汕尾. 2.auto_ptr,通过“转移所有权”来防止析构一块内存多次.(如何转移?详情看第二篇文章) 3.scoped_ptr,不“转移所有权”而是禁止拷贝/赋值对象.(C++如何禁止拷贝对象?详情看第 阅读全文
posted @ 2021-04-27 18:00 恋恋西风 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 1,问题: 1,new 关键字创建出来的对象位于什么地方? 1,位于堆空间; 2,有没有可能位于其它地方? 1,有; 2,通过一些方式可以使动态创建的对象位于静态存储区; 3,这个存储区在程序结束后释放; 2,new/delete 被忽略的事实: 1,new/delete 的本质是 C++ 预定义的 阅读全文
posted @ 2021-04-27 17:57 恋恋西风 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1,问题: 1,动态内存申请一定成功吗? 1,不一定成功; 2,常见的动态内存分配代码: 1,C 代码: 1 int* p = (int*)malloc(10 * sizeof(int)); 2 3 if( p != NULL ) 4 { 5 // ... ... 6 } 1,这种写法合理; 2,C 阅读全文
posted @ 2021-04-27 17:42 恋恋西风 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 1,智能指针本质上是一个对象,这个对象可以像原生的指针一样使用,因为智能指 针相关的类通过重载的技术将指针相关的操作符都进行了重载,所以智能指针对象可以像原生指针一样操作,今天学习智能指针类模板,通过这个类模板就可以淘汰原生的指针了; 2,智能指针的意义: 1,现代 C++ 开发库中最重要的类模板之 阅读全文
posted @ 2021-04-27 16:03 恋恋西风 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 1,new 关键字和 malloc 函数区别(自己、功能、应用): 1,new 关键字是 C++ 的一部分: 1,如果是 C++ 编译器,则肯定可以用 new 申请堆空间内存; 2,malloc 是由 C 库提供的函数: 1,如果没有相应的库,malloc 将不能使用; 2,有些特殊的嵌入式开发中, 阅读全文
posted @ 2021-04-26 09:19 恋恋西风 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 1,函数模板深入理解: 1,编译器从函数模板通过具体类型产生不同的函数; 1,模板就是模子,通过这个模子可以产生很多的实物; 2,函数模板就是编译器用来产生具体函数的模子; 2,编译器会对函数模板进行两次编译: 1,对模板代码本身进行编译; 1,检查函数模板本身有无语法错误等; 2,对参数替换后的代 阅读全文
posted @ 2021-04-25 18:40 恋恋西风 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 1,C++ 对象模型:C++ 的对象在内存当中是如何排布的; 1,C++ 对象包含了成员变量和成员函数; 2,本文分析 C++ 对象它的成员变量在内存中如何排布的,C++ 对象它的成员函数在内存中是如何排布的; 2,回归本质: 1,class 是一种特殊的 struct: 1,class 用来定义类 阅读全文
posted @ 2021-04-25 18:00 恋恋西风 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 1,对泛型编程进行学习,泛型编程是实际工程开发中必用的技术,大型公司的通用 库都是采用泛型编程的技术完成的,C++ 中支持泛型编程技术,C++ 中的函数 模板和类模板就是 C++ 中泛型编程技术,本文分析 C++ 中的模板; 2,每一样技术 的引入都是为了解决一定的问题,下面将通过一个例子让大家意识 阅读全文
posted @ 2021-04-23 18:28 恋恋西风 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 1,多参数类模板: 1,类模板可以定义任意多个不同的类型参数; 1,代码示例: 1 template <typename T1, typename T2> 2 class Test 3 { 4 public: 5 void add(T1 a, T2 a); 6 }; 7 8 Test<int, fl 阅读全文
posted @ 2021-04-23 17:22 恋恋西风 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 1,在 C++ 中是否能够将泛型的思想应用于类? 1,函数模板是将泛型编程的思想应用于函数,就有了函数模板; 2,可以,常用的 C++ 标准库就是 C++ 中的标准模板库,C++ 中的 STL 就是将泛型的思想应用于一系列的函数,就得到了函数模板,当然也有很多的类模板; 3,类模板就是将泛型思想应用 阅读全文
posted @ 2021-04-23 16:21 恋恋西风 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 1.声明部分 #pragma once template <typename T> class MyTemplate { public: T MyAdd(T a, T b); }; 2.实现部分 #include "MyTemplate.h" using namespace std; templat 阅读全文
posted @ 2021-04-23 15:48 恋恋西风 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 首先这些是什么?小字节序和大字节序是存储多字节数据类型(int,float等)的两种方式。在小字节序机器中,多字节数据类型的二进制表示形式的最后一个字节首先存储。另一方面,在大字节序机器中,多字节数据类型的二进制表示形式的第一个字节首先存储。 假设整数存储为4个字节(对于使用基于DOS的编译器(例如 阅读全文
posted @ 2021-04-23 11:11 恋恋西风 阅读(2776) 评论(0) 推荐(0) 编辑
摘要: 1,关于赋值的疑问: 1,什么时候需要重载赋值操作符? 2,编译器是否提供默认的赋值操作符? 2,关于赋值的疑问: 1,编译器为每个类默认重载了赋值操作符; 1,意味着同类型的类对象可以相互赋值; 2,默认的赋值操作符仅完成浅拷贝; 3,当需要进行深拷贝时必须重载赋值操作符; 1,和拷贝构造函数相同 阅读全文
posted @ 2021-04-23 09:26 恋恋西风 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 1,友元的超能力在初始的时候能力很好、很实用,但是随着软件工程的发展,大家 越来越觉得友元的超能力是那么的不够友好,于是在实际的开发中,友元的超 能力就被遗弃了; 2,友元的概念: 1,友元是 C++ 中的一种关系; 1,这种关系发生在两个实体之间; 2,友元关系发生在函数与类之间或者类与类之间; 阅读全文
posted @ 2021-04-23 09:20 恋恋西风 阅读(446) 评论(0) 推荐(0) 编辑
摘要: struct/class/union内存对齐原则有四个: 1).数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组,结构体等)的整数倍开 阅读全文
posted @ 2021-04-22 19:08 恋恋西风 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 先看一下虚函数: class Base { public: virtual void Funtest1(int i) { cout << "Base::Funtest1()" << endl; } virtual void Funtest2(int i) { cout << "Base::Funte 阅读全文
posted @ 2021-04-22 18:49 恋恋西风 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 1.当基类和派生类中都没有虚析构函数时 #include<iostream> using namespace std; class Base{ public: Base() { cout<<"调用Base类的构造函数Base()"<<endl; } ~Base() { cout<<"调用Base类的 阅读全文
posted @ 2021-04-22 16:08 恋恋西风 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 1,在 C++ 语言中,并不直接支持面向对象中的抽象类和接口概念,但是 C++ 语言 却可以间接实现这些概念; 2,什么是抽象类: 1,面向对象中的抽象(其实就是分类)概念: 1,在进行面向对象分析时,会发现一些抽象的概念,如图形的面积如何计算? 2,图形类: 1,图形的面积是不能计算的,肯定要问是 阅读全文
posted @ 2021-04-22 11:22 恋恋西风 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 1,本节课讲述单例类模式,实现并抽取相关代码实现单例类模板,在以后开发工作 中,如果想要使用单例模式,那么直接使用今天开发的单例类模板就可以; 2,需求的提出: 1,在架构设计时,某些类在整个系统生命期中最多只能有一个对象存在 ( Single Instance ); 1,如超市收银系统,由外观来说 阅读全文
posted @ 2021-04-22 11:18 恋恋西风 阅读(1044) 评论(0) 推荐(0) 编辑