【《Effective C++》笔记:II】教程文章相关的互联网学习教程文章

c++第五章-(类与对象、构造器和析构器)【代码】

1.构造器与结构体的区别:构造器多支持方法。其作用有申请内存,初始化变量。在c++中构造器没有返回值:语法Class Name(); 2.析构器的作用:释放内存。在c++中析构器没有返回值:语法~ClassName(); class Animal { public:std::string mouth;std::string name;void eat();void sleep();void drool();Animal(std::string theName); };class Pig:public Animal { public:void climb();Pig(std::string theName); };class Turtle:publ...

C++ 抽象类二(抽象类的基本语法)【代码】

//抽象类的基本语法 #include<iostream> usingnamespace std;/* 有关多继承的说明 被实际开发经验抛弃的多继承 工程开发中真正意义上的多继承是几乎不被使用的 多重继承带来的代码复杂性远多于其带来的便利 多重继承对代码维护性上的影响是灾难性的 在设计方法上,任何多继承都可以用单继承代替绝大多数面向对象语言都不支持多继承 绝大多数面向对象语言都支持接口的概念 C++中没有接口的概念 C++中可以使用纯虚函数实现接口 接口类...

C++链表,尽量使用C++11【代码】【图】

原创,转载请注明出处。 为了熟悉vs环境、c++中的类写的链表 chainNode.h:#pragma once #include<memory> #ifndef CHAINNODE_H #define CHAINNODE_H using std::make_shared; using std::shared_ptr;template <typename T> struct chainNode {T element;shared_ptr<chainNode> next;chainNode(const T &theElement){element = theElement;next = nullptr;}chainNode(const T &theElement, const shared_ptr<chainNode<T>> theNext)...

中文在C/C++中的处理和汉字乱码问题(wchar_t)

中文字在C/C++中的处理 现在编程的语言和编程环境随着中国的发展開始对中文有进一步的支持。可是对中文的支持整体来说是有缺陷的,并且有与编译环境的不同导致中文在当前的C/C++中有非常多问题,并且非常多版本号对中文的支持是不全然的。就拿DEV-C++和VS2005为例。对与MSDN的帮助和网上的讲述两者在那些代码的支持有非常多不同的地方。 而我要讨论的就是对于中文在C/C++的应用方法。首先中文字是在一般char的范围以外...

C/C++函数使用

1 memset将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。函数介绍void *memset(void *s, int ch, size_t n);函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法[1] 。 2 bz...

C++学习杂谈1(extern、cosnt引用&指针)

extern的用法:.cpp 1#include <iostream>using namespace std;extern int i;int main(int argc, char** argv) { cout << i << endl; return 0;}.cpp 2#include <iostream>int i = 100;注意:在测试的时候.cpp 2没有加头文件#include<iostream> 导致编译报错。另外的:const限定符除了将其修饰的对象变为常量对象外,还有其他的特点:1,因为const对象一旦创建后其值就不能改变,所以const对象必须初始化。2,默认状态下,const对象...

【C++】C++自学进阶(5):继承(1)——入门【代码】【图】

继承能将定义的新类包含有已有类的所有属性,这样能实现很多新的功能,实际运用上也更加方便。  已经存在的类叫做基类或父类,新建立的类叫做子类或派生类。一些概念:单继承(single inheritance)、多重继承(multiple inheritance)。直接继承,间接继承。继承具有传递性和非对称性。一、定义方法和派生类的构成单继承: class 类名: 继承方式 基类名 {...... };多重继承: class 类名: 继承方式 基类名1,继承方式 基类名2......

PEtools PE操作工具类C++【代码】

源码来自各大网友并非原创修改了部分函数 仅供参考(PE没源码参考应该是很吃力的)暂未更新完持续更新中.......PETools.h//函数头int GetFileLength(FILE *pf, DWORD *Length); int ReadFileByPathToBuffer(IN LPSTR FilePath, OUT LPVOID* pFileAddress); int PrintPEFileHeader(void* pFileAddress); int PrintPESectionHeader(PVOID pFileAddress); int WriteFileFromFileAddress(PVOID pFileAddress, DWORD FileSize, LPSTR Fi...

4 C++ Boost 正则表达式【代码】【图】

4 C++ Boost 正则表达式目录: 离线文档: 去除HTML文件中的标签:正则表达之检验程序:正则表达式元字符:锚点:匹配多个字母与多个数字标记:含有()一对小括号里面的东西,Boost中()不需要转译了?: 不被标记,不能被反向引用重复特性[贪婪匹配,尽量去匹配最多的]:? 非贪婪匹配[尽可能少的匹配]:流模式,不会回头,匹配就匹配了,为高性能服务:反向引用:必须存在被标记的表达式或条件:单词边界:命名表达式:注释:分支重设:正向预查:举例1:只是...

C++ 顺序表【代码】【图】

C++ 顺序表/***1顺序表1、必做题 编写程序建立一个数续表,并逐个输出顺序表中所有数据元素的值。编写主函数测试结果。 编写顺序表定位操作子函数,在顺序表中查找是否存在数据元素x。  如果存在,返回顺序表中和x值相等的第1个数据元素的序号(序号从0开始编号);如果不存在,返回-1。编写主函数测试结果。在递增有序的顺序表中插入一个新结点x,保持顺序表的有序性。解题思路:首先查找插入的位置,再移位,最后进行插入操作...

C/C++之学习笔记

【C语言的Static inline 函数的作用】 【printf打印格式】%x 打印十六进制%d 打印十进制%b 打印二进制%c 打印字符%s 打印字符串%f 打印单精度float%lf 打印双精度double 【关于C++中的类型转换】dynamic_cast: 通常在基类和派生类之间转换时使用,把一个派生类转换为基类使用这个转换,run-time cast const_cast: 转换是去掉const变量的const, 主要针对const和volatile的转换. static_cast: 一般的转换,类似于C/C++里面的强制类...

C++之“程序结构”

变量的类型一、全局变量与局部变量1、全局变量作用范围:文件作用域。2、局部变量作用范围:函数作用域、块作用域和函数原型作用域。二、存储类型1、auto:默认的局部变量存储类型。2、register:为提高执行效率,得以直接从寄存器中取出而定义的寄存器变量类型。3、extern:对于左右模块共用的全局变量。4、static:为可被下次调用时继续使用的全局静态变量类型。程序的文件结构与编译预处理命令一、文件包含 #include命令与宏定义...

C++11并行编程-条件变量(condition_variable)详细说明【代码】

<condition_variable >头文件主要包含有类和函数相关的条件变量。包括相关类 std::condition_variable和 std::condition_variable_any,还有枚举类型std::cv_status。另外还包含函数 std::notify_all_at_thread_exit(),以下分别介绍一下以上几种类型。std::condition_variable 类介绍std::condition_variable是条件变量,很多其它有关条件变量的定义參考维基百科。Linux下使用 Pthread库中的 pthread_cond_*() 函数提供了与条件变...

Win32控制台中挂全局键盘或鼠标钩子的示例C/C++【代码】

1 #include <iostream>2 #include <windows.h>3 4 5 LRESULT CALLBACK CallBackProc(int nCode, WPARAM wParam, LPARAM lParam) {6 7 std::cout << "回调调用,线程ID:" << GetCurrentThreadId() << std::endl;8 9return CallNextHookEx(0, nCode, wParam, lParam); 10} 1112int main() 13{ 1415//WH_KEYBOARD_LL 为全局键盘钩子, WH_MOUSE_LL 为全局鼠标钩子 16//不管任何钩子,回调函数的签名都是一样的,只不过如何解释回调函数...

C++ Word Count 发布程序【图】

前段时间,模仿 Linux 系统下的 wc 程序,在 Windows 系统环境下使用 C/C++ 实现了一个相似的 WC 程序,只不过有针对性,针对的是 C/C++,Java 等风格的源代码文件。此 WC 程序可以统计字符数、单词数(不包括注释)和行数,另外可分别统计空行数、代码行数和注释行数,甚至可以统计同一目录下(包括子目录)的符合后缀名的文件(支持 ‘*‘ 通配符)。WC 功能最初和 Linux 一样,是在命令提示符窗口下使用的,过后增加了图形化用户...