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

C++学习笔记05【代码】【图】

拷贝构造    零初始化:类型名(),对于基本类型而言是数值0,对于类或者结构类型而言是匿名对象。    当用一个同类对象初始化一个同类新对象时,调用的自然是拷贝构造函数。一个类如果没有定义拷贝构造函数,编译器会自动产生一个构造函数,内容是逐个复制对于的成员。这一般可以满足程序的需求。如果其中有指针成员指向动态内存的时候两个对象指针成员都会指向相同地方,两个对象释放时都会delete这块内存 从而导致错误。...

C++学习笔记(四):枚举【代码】

枚举用来代替静态常量,优点就是可以确定值的范围,而常量则无法确定范围;常量表示法: 1constint TYPE_1 = 0;2constint TYPE_2 = 1;3constint TYPE_3 = 2;4 5constint ONE = 0;6constint TWO = 1;7 8bool func(int type)9{ 10//范围检查11if(type < 0 || type > 2) throw type; 12//执行的代码1314 }枚举表示法: 1enum EType2{3 TYPE_1 = 0,4 TYPE_2 = 1,5 TYPE_3 = 2 6};7 8enum ENum9{ 10 ONE = 0, 11 TW...

《新标准C++程序设计》4.5(C++学习笔记15)【代码】

实例:长度可变的整型数组类int main() { //要编写可变长整型数组类,使之能如下使用:CArray a; //开始里的数组是空的for (int i = 0; i < 5; ++i)a.push_back(i);//->要用动态分配的内存来存放数组元素,需要一个指针成员变量 CArray a2, a3;a2 = a;//->要重载“=”for (int i = 0; i < a.length(); ++i)cout << a2[i] << "";//->要重载“[ ]”a2 = a3; //a2是空的for (int i = 0; i < a2.length(); ++i) //a2.length()返回0c...

23 DesignPatterns学习笔记:C++语言实现 --- 2.3 Decorator【代码】

23 DesignPatterns学习笔记:C++语言实现 --- 2.3 Decorator2016-07-22(www.cnblogs.com/icmzn)模式理解 1. Decorator 模式定义 一般可以分为4个角色 (1)Component抽象类:定义被装饰者的抽象行为或者特征。 (2)具体的Component类:具体的待被装饰的对象。 (3)抽象的Decorator类: 抽象装饰者需要继承抽象Component类,以拥有Component相同的行为和特征,便于具体的Decorator继承,在具体的Decorator的继承...

C++学习笔记49:栈【代码】

栈是一种只能从一端访问的线性数据结构,栈是一种后进先出的数据结构//stack.h#ifndef STACK_H #define STACK_H #include <cassert> template <class T, int SIZE = 50> class Stack { private:T list[SIZE];int top; public:Stack();void push(const T &item);T pop();void clear();const T &peek() const;bool isEmpty() const;bool isFull() const; };//模板的实现 template <class T, int SIZE> Stack<T, SIZE>::Stack():top(-...

c++沉思录 学习笔记 第六章 句柄(引用计数指针雏形?)【代码】

一个简单的point坐标类 class Point {public: Point():xval(0),yval(0){} Point(int x,int y):xval(x),yval(y){} int x()const { return xval; } int y()const { return yval; } Point& x(int xv) { xval = xv; return *this; } Point& y(int yv) { yval = yv; return *this; }private: int xval, yval;};将handle 绑定到其上 进行一层封装通过handle控制那些操作可以公开 那些操作私有 阻止用户对point的地址的操作更重要的是提供...

c++学习笔记

针对vs的一些问题  1、VS2013中使用fopen、sprintf等函数是会出现安全问题:  error C4996: ‘fopen‘: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 而报错。 解决方法:右键工程名-->属性-->C/C++-->预处理器-->预处理器定义,编辑右边输入框加入: _CRT_SECURE_NO_WARNINGS 保存。  2、不能从const ch...

《Effective C++ 》学习笔记——条款03

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 一、 Accustoming Yourself to C++Rule 03: Use const whenever possible.条款03:尽可能的使用constconst就是常量,它允许你指定一个语义约束,编译器会强制实施这项约束。多才多艺的关键字const 有多种用途:① 在classes 外部修饰global 或 namespace 作用域中的常量② 修饰文件、函数 或 区...

c++学习笔记(2)类的声名与实现的分离及内联函数【代码】

一、类的声名与实现的分离:和c函数声明与实现分离类似有.h : 类的声明 .cpp : 类的实现在在一个类的cpp中应该包含本类的.h文件在cpp中类的使用:例: 1//Circle类2//Circle.h 3class Circle{4private:5double radious;6public:7 Circle();8};9//Circle.pp10#include “Circle.h” 11Circle::Circle(){ 12 Radius=1; 13 }在主函数中使用此类只需要在头文件中包含.h的名字即可。二、内联函数 直接定义在类里面是内联函数,在c...

《C++ Primer Plus》16.3 标准模板库 学习笔记

STL提供了一组表示容器、迭代其、函数对象和算法的模板。容器是一个与数组类似的单元,可以存储若干个值。STL容器是同质的,即存储的值的类型相同;算法是完成特定任务(如对数组进行排序或在链表中查找特定值)的处方;迭代其能够用来遍历容器的对象,与能够便利数组的指针类似,是广义指针;函数对象是类似于函数的对象,可以使类对象或函数指针(包括函数名,因为函数名被用作指针)。STL使得能够构造各种容器(包括数组、队列和...

C++学习笔记2——引用【代码】

1、int ival = 1; int &refVal = ival; //引用必须初始化,且类型严格匹配2、int ival = 1; int &refVal = ival; int const *refval = &ival;//两者等价,即引用所占的内存空间和指针大小相同3、引用不能引用自身4、可以对一个变量多次应用,即起多个别名5、函数的返回值为引用 给变量赋值给引用赋值当左值栈变量可以有可能出错,返回的是局部变量的地址静态变量、全局变量可以可以可以原文:http://www.cnblogs.com/codelu/p/460...

C++学习笔记22,普通函数重载(1)【图】

转载请注明出处:http://blog.csdn.net/qq844352155/article/details/31353325 该博文仅用于交流学习,请慎用于任何商业用途,本博主保留对该博文的一切权利。 博主博客:http://blog.csdn.net/qq844352155什么是方法重载?方法重载也可以说是函数重载,函数的多态性。具体来说就是将函数或者方法的名称用于多个函数,但是参数的类型或者参数的数目不同。在这篇blog里面我只讨论类外函数的重载。例如一个简单的例子:#include <ios...

C++学习笔记:Socket tcp【代码】【图】

tcp服务器端:  1.常用函数sfd = socket(AF_INET,SOCK_STREAM,0);  用来创建一个socket sfd,但此时并未绑定到主机,此时需要一个结构体sockadd_in 来配合socketsfd来进行绑定主机  同时需要对此结构体进行初始化,将其协议族改为AF_INET,使用inet_addr,htons对其地址端口号进行转换成二进制struct sockaddr_in ser;memset(&ser,0,sizeof(ser));ser.sin_family=AF_INET;ser.sin_port=htons(atoi(argv[2]));//一定要用htonss...

C++多线程基础学习笔记(六)【代码】【图】

condition_variable、wait、notifiy_one、notify_all的使用方式condition_variable:条件变量wait:等待被唤醒notify_one:随机唤醒一个线程notify_all:唤醒所有线程下列代码是三个线程轮流打印数字 1 #include <iostream>2 #include <thread>3 #include <mutex>4usingnamespace std;5 6class print7{8private:9 mutex mymutex; //互斥锁10 condition_variable my_cond; //条件变量11int num; 12int flag; 13int count; ...

C++学习笔记3--常量指针和指针常量【代码】

常量指针:const int* x 说明被指的x是常量,指针本身是变量。如果指针指向常量,必须使用常量指针指针常量:int* const y 说明指针本身是常量,指向的内容可改变数组指针的引用: 指针[] 表示数组元素,括号提示为数组 1int list[6]={1,2,3,4}; 2int *pList= list; 3for(int i=0;i<6;i++) 4 std::cout<<(list+i) //显示地址,且每次增加数据类型大小,在32位编译器内,int每次加45 <<*(list+i) //以下四行均显...

学习笔记 - 相关标签