【Effective C++ 43,44】教程文章相关的互联网学习教程文章

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 一样,是在命令提示符窗口下使用的,过后增加了图形化用户...

c++函数指针说明【代码】

下面随笔说明函数指针用法。函数指针的定义:  定义形式:  存储类型 数据类型 (*函数指针名)()  含义:  函数指针指向的是程序代码存储区函数指针的典型用途-----实现函数回调  通过函数指针调用的函数    例如将函数的指针作为参数传递给一个函数,使得在处理相似事件的时候可以灵活的使用不同的方法。  调用者不关心谁是调用者    需知道存在一个具有特定原型和限制条件的被调用函数。函数指针举例 1 #inc...

C++ Builder中串口通讯的经验之谈

转自网址:http://blog.csdn.net/henhen2002/article/details/4485158   经验。(串口部分),相信不少的人都知道在VB中有一个控件MSComm(图标是一个小黄电话),它可以帮你完成普通的串口传输功能(比如字符串什么的,但有的却实现起来比较烦琐),  在BCB中要用VB的控件,我想很多人都知道怎么办,在菜单中点Component——>Import ActiveX Control在打开的框中找到你想要的Microsoft Comm Control6.0然后直接安装就可以了...

浅析c++面向对象特性【代码】

2018-08-15  20:17:141、三大特性所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中...

C++Primer(二)【代码】

1.预处理器为以#开头的语句,表示编译指令。include导致预处理器在程序代码被编译之前,替换或添加文本。2.使用cin和cout进行输入和输出的程序必须包含文件istream。C++98标准:#include<iostram> using namespace std;3.C语言的传统是,头文件使用扩展名h,将其作为一种通过名称标识文件类型的简单方式。C++用法变了,C++头文件没有扩展名,有些C头文件被转换为C++头文件,这些文件被重新命名,去掉了扩展名h,并在文件名称前面加上...

C++学习(26)【代码】【图】

1//异质单链表2//大学人员问题3//设计要求:4//大学人员分为两类:5//一类是教学人员,另一类是非教学人员,这两类人员的信息管理系统中,一部分信息内容是相同的6//但另一部分内容是不相同的,7//设教学人员的信息包括姓名、年龄和专员编号8//非教学人员的信息包括姓名、年龄和业绩评级9//现要求设计一个能同时存储学校教学人员的异质单链表类,并设计一个程序进行测试 10 #include<string.h>11 #include<iostream.h>12 #include<stdl...

【足迹C++primer】56、文本查询程序

/** * 功能:文本查询程序 * 时间:2014年7月23日10:26:09 * 作者:cutter_point */#include<iostream> #include<algorithm> #include<memory> #include<set> #include<map> #include<fstream> #include<sstream>using namespace std;/* Alice Emma has long flowing red hair. Her Daddy says when the wind blows through her hair, it looks almost alive, like a fiery bird in flight. A beautiful fiery bird, he tells her, ma...

C/C++面试问题分类大汇总 ZZ 【C++】

http://www.mianwww.com/html/2014/05/21208.html 指针和引用的区别指针指向一块内存,它的内容是指向内存的地址;引用是某内存的别名引用使用是无需解引用,指针需解引用引用不能为空,指针可以为空引用在定义是被初始化一次,之后不可变;指针可变程序为指针变量分配内存区域,而引用不需要分配内存区域memcpy和strcpy的区别memcpy用来内存拷贝的,它有指定的拷贝数据长度,他可以拷贝任何数据类型的对象Strcpy它只能去拷贝字符串...

c++刷题一

(一)输出其中的最大值。 #include <iostream> using namespace std; int main() {int a,b,c,max;cin>>a>>b>>c;max=a;if(b>max)max=b;if(c>max)max=c;cout<<max<<endl; } (二)输出y的值。(1) #include <iostream> using namespace std; int main() { double x,y; cin>>x; if(x<1) y=x; else if(1<=x&&x<10) y=2*x-1; else if(x>=10) y=3*x-11; cout<<y<<endl; return 0; } (2)函数版 #include <iostream> using namesp...

Visual C++ 基础数据类型的转换【代码】

16.1如何将基本数据类型转换成CString类型用CString的Format方法void CDemoView::OnDraw(CDC* pDC) {int a = 100;double b = 1.23;//将整型转换成CStringCString str1 = _T("");str1.Format(_T("%d"), a);//将实型转换成CStringCString str2 = _T("");str2.Format(_T("%f"), b);CString strText = _T("");strText.Format(_T("str1 = %s"), str1);pDC->TextOut(100, 50, strText);strText.Format(_T("str2 = %s"), str2);pDC->TextO...

C++编程优化心得(持续更新)

1. 对齐原则。比如64位总线,每次寻址读取8B。编程时注意变量地址,尽量消耗总线最少的寻址次数。堆内存申请时,系统严格按照对齐原则分配,故而使用时候也尽量不要跨寻址边界。2. 需要的时候,可为了效率拷贝代码,虽然增加了代码体积,但这是值得的。尤其是for循环,若次数比较少,拆开亦无妨。3. 位运算中,-1右移,左边补1,故仍为-1;-1左移,右边补0,故不再为-1。4. 每次申请的堆内存,最好初始化,里面是垃圾数据,而并非为...