【C++学习笔记】教程文章相关的互联网学习教程文章

C++学习笔记(一)【代码】

C++包括面向对象开发的三大特性封装性继承性多态性封装性封装的目标:实现软件部件的“高内聚、低耦合”,防止程序相互依赖而带来的变动影响。封装的思路:面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个“模块”中,也就是一个类中,属性对应于变量,行为对应于方法,方法可以直接访问同一个对象中的属性。个人想法:一般来说,我们把类的成员变量定义为private类型,成员函数定义成public类型。C语言中也提供了一...

Effective C++学习笔记(Part Seven:Item 41-48)

??最近终于把effectvie C++仔细的阅读了一边,很惊叹C++的威力与魅力。最近会把最近的读书心得与读书笔记记于此,必备查找使用,如果总结有什么不当之处,欢迎批评指正:现在只列出框架,最近会尽快填充完整:第7部分:模板与泛型编程 所谓泛型编程就是以独立于任何特定类型的方式编写代码。使用泛型程序时,我们需要提供具体程序实例所操作的类型或值。模板是泛型编程思想的一种实现,也是C++研发者思想精髓所在。 条款41:...

c++ 11学习笔记--Lambda 表达式(对比测试Lambda ,bind,Function Object)【代码】

所有c++ coder都应该为这个语法感到高兴,说的直白一点,Lambda 表达式就是函数对象的语法糖。 还是直接看对比栗子吧,抄袭的是msdn的官网该示例使用 for_each 函数调用中嵌入的 lambda 向控制台打印 vector 对象中的每个元素是偶数还是奇数。使用lambda#include <algorithm> #include <iostream> #include <vector> usingnamespace std;int main() {// Create a vector object that contains 10 elements.vector<int> v;for (int...

c++学习笔记1(c++简介)

c++和c的不同:  1,c++是c的扩充。  2,在解决问题时思维方式的不同。(c++采用面向对象思维,c面向结构思维)面向结构思维:将一个大程序拆分成一个个很小的结构。每个结构完成一个或多个功能,所有结构集合起来就可以完成一个大功能。结构是实现一个或多个功能的代码块。缺点:可维护性、数据的安全性(只是把大程序细化成若干个小结构,并没有考虑数据的安全性问题)(数据是属于整个程序的)、可重用性(并没有将相关的数...

C++ set容器用法 学习笔记【图】

set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的数据结构,在插入元素时,他会自动调整二叉树的排列,把该元素放到合适的位置上,以确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树的高度相等,这样,二叉树的高度最小,从而检索的速度最快。要注意的是,他不会重复插入相同键值的元素,二采取忽略处理,如下图所示: 平衡二叉检索树的...

C++面向对象程序设计学习笔记(6)【代码】

多态性编译时的多态性与运行时的多态性在面向对象方法中,所谓多态性就是不同对象收到相同信息时,产生不同的行为。在c++程序设计中,即“一个接口,多种方法” 在C++中,多态性的实现和联编这一概念相关,一个源程序经过编译、连接,称为可执行文件的过程即为把可执行代码联编在一起的过程。其中在运行前完成的称为静态联编,又称前期联编,而在运行时完成的称为动态联编,也称后期联编 静态联编支持的多态性称为编译时多态性,也...

《C++ 101条建议》学习笔记——第一章快速入门

1.C++程序组成:a.编译指示,由#开始,不由分号结束。只是影响编译过程。b.声明语句,影响编译过程,编译结果中并不会生成对应的指令。只是告诉编译器一些信息。c.可执行过程语句,生成对应的指令。包括:简单语句、复合语句、控制语句、try语句等。d.函数(返回类型,函数名称,参数列表,函数体)。函数名称说明函数的功能,返回值返回函数执行后的输出结果,形式参数表示函数的输入或输出,函数体决定函数的执行过程。2.面向过程...

C++11 virtual函数学习笔记【代码】

#include<iostream>#include<string>using namespace std; class Base { public:Base(){}~Base(){} public:virtual void f1(int x){ cout << "baseclass: f1() " << x << endl; }virtual void f2()final{ cout << "baseclass: f2() " << endl; }void f3(int x){ cout << "baseclass : f3() " <<x<< endl; }virtual void f4(){ cout << "baseclass:f4()" << endl; }//string isbn()const;//virtual double net_price(size_t n)cons...

C++学习笔记42:进程管理【代码】

子进程异步清除  SIGCHLD信号:子进程终止时,向父进程自动发送,编写此信号处理例程,异步清除子进程#include <signal.h> #include <string.h> #include <sys/types.h> #include <sys/wait.h>sig_atomic_t child_exit_status; extern"C" {void CleanUp(int sig_num){int status;wait(&status); //清除子进程child_exit_status = status; //存储子进程的状态 } }int main() {//处理SIGCHLD信号struct sigactio...

C++ Primer Plus学习笔记之继承类的初始化顺序

C++ Primer Plus学习笔记之继承类的初始化顺序基类的构造函数,析构函数和操作符函数operator=是不能被派生类继承的;那么,当创建一个派生类对象时,怎样调用基类的构造函数对基类的数据进行初始化呢???答案是:构造函数执行时遵行先兄长(基类),再客人(对象成员),后自己(派生类)的顺序;另一方面,执行析构函数时,先执行派生类的析构函数,再执行基类的析构函数。原因是,对基类的破坏隐含了对派生类的破坏,所以派生类的析...

《吕鑫:VC++6.0就业培训宝典之MFC视频教程》学习笔记 -- 第二章 MFC原理介绍

第二章 MFC原理介绍2.1 第一个Win32软件2.2 Win32对话框程序开发2.3 程序资源管理和Windows数据类型2.4 Win32环境下的多对话框管理2.5 初步学习MFC软件开发模式 原文:http://www.cnblogs.com/SunnyD/p/7694761.html

C++学习笔记1--基础知识

#include <iomanip> setpresition(int n); 设置输出精度浮点数是n. 【goto声明】 goto也被称为无条件分支语句购买勇于改变运行顺序的声明。goto一般声明格公式: goto 牌号。 例:#include <iostream> using namespace std; int main(int args, char *argv[]) {int ivar = 0;int num = 0; label:ivar ++;num += ivar;if(ivar < 10) {goto label;}cout << num << endl;return 0; } goto语句效率较低。 goto语句不能越过复合语句之外的...

c++学习笔记10【图】

(十)关系运算和逻辑运算㈠关系运算关系运算:对运算对象的 “大小”关系的判断; 比较运算:其结果是成立或不成立,也就是为真或假。关系运算符:注意:“=”和“==”,前者是赋值运算符,而后者是关系运算符。㈡关系运算的优先级程序如下:㈢逻辑运算⑴逻辑运算:表达、判断多个条件之间的关系;单个变量或常量也可作为条件。运算符: && (与) || (或) ! (非)⑵①②逻辑运算符和关系表达式或有数值的表达式连接都构成逻辑...

C++ 学习笔记 (一)【图】

C++标准化组织   https://isocpp.org/std/status   http://open-std.org/JTC1/SC22/WG21/why C++王者归来?   https://coolshell.cn/articles/6548.html方法论学任何知识点,都可以从三个方面来考虑? > 是什么? what > 怎么实现的? how > 为什么? why > 学习的深度 > 讲出来 > 听得懂内存泄漏野指针内存踩踏malloc用法malloc底层怎么实现的? ==> 系统调用为什么?常量和宏的区别#in...

C++学习笔记36 (模板的细节明确template specialization)和显式实例(template instantiation)【图】

C++有时模板很可能无法处理某些类型的。例如:#include <iostream> using namespace std; class man{ private:string name;int data; public:man(string s,int i):name(s),data(i){}void show()const{cout<<"this name is "<<name<<" ,data="<<data<<endl;} }; template <class T> void mSwap(T t1,T t2){T temp=t1;t1=t2;t2=temp;cout<<"Here are template version "<<t1<<" and "<<t2<<" swap successed!"<<endl;}; int main() {...

学习笔记 - 相关标签