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

c++ exports def文件【代码】

https://msdn.microsoft.com/zh-cn/library/hyx1zcd3(v=vs.80).aspxEXPORTS引入了一个由一个或多个 definitions(导出的函数或数据)组成的节。每个定义必须在单独一行上。EXPORTS definitions 备注EXPORTS 关键字可以在第一个定义所在的同一行或前一行上。.def 文件可以包含一个或多个 EXPORTS 语句。 导出 definitions 的语法为: entryname[=internalname] [@ordinal [NONAME]] [PRIVATE] [DATA] entryname 是要导出的...

opencv C++全局直方图均衡化【代码】【图】

cv::Mat histogramEqualization(cv::Mat img){int rows=img.rows;int cols=img.cols;cv::Mat grayScale=cv::Mat::zeros(cv::Size(256,1),CV_32SC1);cv::Mat grayScaleSum=cv::Mat::zeros(cv::Size(256,1),CV_32SC1);cv::Mat _output=cv::Mat::zeros(cv::Size(256,1),CV_8UC1);cv::Mat output=cv::Mat::zeros(img.size(),CV_8UC1);float cofficient=256.0/(rows*cols);for(int i=0;i<rows;++i){ // 计算不同灰度值的个数。for(int ...

C++正则表达式笔记之wregex【代码】

遍历所有匹配#include <iostream> #include <regex> usingnamespace std; int main() {wstring wstr = L"我是1994年出生的,我今年25岁了。";wsmatch wsm;wregex wre(L"[0-9]+");wsregex_iterator itr1(wstr.begin(), wstr.end(), wre);wsregex_iterator itr2;for (wsregex_iterator itr = itr1; itr != itr2; ++itr){wcout << itr->str() << endl;}return0; }在目标文本中进行搜索#include <iostream> #include <regex> usingname...

4.2 C++虚成员函数【代码】

参考:http://www.weixueyuan.net/view/6371.html总结:  virtual关键字仅用于函数声明,如果函数是在类外定义,则不需要再加上virtual关键字了。  在C++中只有类中的成员函数能被声明为虚函数,而对于顶层函数则不能声明为虚函数。    声明虚函数是为了构成多态。  实际上我们只需要将基类中的display函数通过virtual关键字声明为虚函数,之后即使在派生类中display函数声明时未加上virtual关键字,它在所有的派生类中都...

C++随机数【代码】【图】

假如我们要给小朋友出100以内减法题,而且我们希望每次运行的减法都不一样(不能永远是9-2=?),那么我们该怎么办呢?  这里我们需要用到随机数,每次出的题中,减数与被减数是两个随机数,这样就可以避免只做一道题。  随机数要用头文件<cstdlib>中的rand()函数来生成,生成的随机数在0~RAND_MAX之间,RAND_MAX是由平台决定的。  看下面一段代码: 1 #include <iostream>2 #include<cstdlib>3 4usingnamespace std;5 6int ...

c++ const char *[] or char [][]【代码】

char ch1[][6]={"hello","world"}; char *ch2[6]={"hello"}; std::cout<<sizeof(ch2)<<" : "<<strlen(*ch2)<<"\n"; //sizeof(char*) : 5 std::cout<<sizeof(ch1)<<" : "<<strlen(*ch1)<<"\n"; //12 : 5到刚刚为止,一直以为这两个是等价的。打脸了。。。其实我想说的是第二个编译也过不了。。。char *ch2[] 首先是ch2是一个数组,数组里面是指向const字符串的指针。所以必须是这样的形式 const char *ch2[]; perfect原文:http://w...

C++结构体再学心得

自己定义一个结构体,使用struct关键字struct student{  char name[20];  int age;  int num;};定义好结构体,student就相当于变量类型,我们可以直接用来定义一个student类型的变量:student A;也可以直接在定义结构体的时候直接进行定义变量:struct student{  char name[20];  int age;  int num;}A;这个结构体可以通过sizeof(student)来获得变量类型所占用的诶村大小结构体成员的引用形式:结构变量名.成员名,例如...

C++文件操作案例

案例一: 1.打开文件,显示其中内容 2.向其中追加记录 3.显示追加之后的文件内容 #include<iostream> #include<fstream> #include<iomanip> #include<stdlib.h> using namespace std; inline void eatline() { while (std::cin.get() != ‘\n‘)continue; } struct planet { char name[20]; double population; double g; ...

C++ 解析一【代码】

C++ 类和对象C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。C++ 类定义定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以...

C/C++中的static【代码】

一、静态全局变量理解static关键字之前首先回顾一下C/C++程序的在内存中的分配情况。从低地址到高地址依次分为:代码区、全局数据区、堆区、栈区。函数之外的全局变量和静态变量(包括全局变量和静态变量)都存储在全局数据区,堆区有程序员自己通过malloc,new申请内存,栈区存放函数内部的临时变量,随着函数的退出而释放内存。静态全局变量和普通全局变量的区别:静态全局变量和普通全局变量都存储在全局变量区,在这一点两者是...

C++ STL 容器概述【图】

在STL编程中,容器是经常用到的一种数据结构,在C++标准库中,容器分为:序列式容器关联式容器二者本质区别在于,序列式容器是通过元素在容器中的位置进行顺序存储和元素访问。关联容器则是通过键[key]存储和读取元素。标准库中具体的容器如下图所示:原文:https://www.cnblogs.com/zhongqifeng/p/14708046.html

constexpr函数------c++ primer【代码】

constexpr函数是指能用于常量表达式的函数。定义constexpr函数的方法有其他函数类似,不过要遵循几项约定:函数的返回值类型及所以形参的类型都是字面值类型,而且函数体中必须有且只有一条return语句。为了能在编译过程中随时展开,constexpr函数被隐式指定地指定为内联函数。  constexpr函数体内也可以包含其他语句,只要这些语句在运行时不执行任何操作就行。例如,constexpr函数中可以有空语句、类型别名以及using声明。  ...

面向对象程序设计-C++_课时21引用【代码】

数据类型 & 别名=对象名; 1 #include <iostream>2usingnamespace std;3 4int * f(int * x)5{6 (*x)++;7return x;8}910int & g(int & x) 11{ 12 x++; 13return x; 14} 1516int x; 1718int & h() 19{ 20int q;//!return q21return x; 22} 2324void main() 25{ 26int a = 0; 27 std::cout << a << std::endl;//02829 f(&a);//丑陋,但是清晰30 std::cout << a << std::endl;//13132 g(a);//清晰,但是隐蔽,...

浅谈C++ STL string容器【图】

浅谈C++ STL string容器本篇随笔简单讲解一下\(C++STL\)中\(string\)容器的使用方法及技巧。string容器的概念其实\(string\)并不是\(STL\)的一种容器,但是由于它的使用方法等等和\(STL\)容器很像,所以就把它当作\(STL\)容器一样介绍。其实\(string\)容器就是个字符串,这通过它的英文译名就能看得出来。但是对于字符串以及字符串的相关操作,可能读者还是对普通的\(C/C++\)的#include<cstring>,#include<string.h>库更熟悉一些。...

C++中的const关键字的用法【代码】

1.const用于修饰普通变量,表示常量,不建议修改,某种程度上不允许修改(其实也是可以修改的) 指针常量 :指针(指向的变量的值)自身是一个常量,说明不能改变自身的指向 int* const p=&a; 常量指针 :指向常量的指针,指针可以修改指向 但是不能修改指向的变量的值 const int* p;面试必杀技: const出现在*的左边 是常量指针 const int num = 19; const int * p = &num;//指向常量的指针常见的面试题中,经常会拿如下的例子来糊...