![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习
快哉亭上快哉风
这个作者很懒,什么都没留下…
展开
-
C++中预处理器的学习
1、文件包含预处理指令#include用于包含头文件,有两种形式:#include <xxx.h>,#include “xxx.h”。尖括号形式表示被包含的文件在系统目录中。如果被包含的文件不一定在系统目录中,应该用双引号形式。在双引号形式中可以指出文件路径和文件名。如果在双引号中没有给出绝对路径,则默认为用户当前目录中的文件,此时系统首先在用户当前目录中寻找要包含的文件,若找不...原创 2019-04-01 16:51:53 · 130 阅读 · 0 评论 -
模板template的学习
其实for_each就是一个模板函数,将for循环语句封装起来,前面两个参数都是迭代器,第三个参数是使用一个函数指针(或仿函数),其功能是对每一个迭代器所指向的值调用仿函数其余待看...原创 2019-04-10 09:46:10 · 167 阅读 · 0 评论 -
opencv中的RNG类的用法
next取出下一个随机数cv::RNG rng;for (int i = 0; i < 5; i++){ std::cout << rng.next() << "\n";}输出:1300636063003295397387002083913502736294024955497uniform函数返回指定范围的随机数cv::RNG rng;f...翻译 2019-04-09 19:03:54 · 6392 阅读 · 3 评论 -
image.copyTo函数的用法
1、image.copyTo(imageROI),作用是把image的内容粘贴到imageROI;2、image.copyTo(imageROI,mask),作用是把mask和image重叠以后把mask中像素值为0(black)的点对应的image中的点变为透明,而保留其他点。...翻译 2019-04-09 18:53:40 · 1983 阅读 · 0 评论 -
宏定义 #define 和常量 const 的区别
类型和安全检查不同宏定义是字符替换,没有数据类型的区别,同时这种替换没有类型安全检查,可能产生边际效应等错误;const常量是常量的声明,有类型区别,需要在编译阶段进行类型检查编译器处理不同宏定义是一个"编译时"概念,在预处理阶段展开,不能对宏定义进行调试,生命周期结束与编译时期;const常量是一个"运行时"概念,在程序运行使用,类似于一个只读行数据存储方式不同宏定义是直接替换,不...原创 2019-04-03 11:23:04 · 120 阅读 · 0 评论 -
C++ 全局变量、局部变量、静态全局变量、静态局部变量的区别
C++ 变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为 6 种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从作用域看:全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。静态局部变量具有局部作用域,它只被初始化一次,自从第一次被...原创 2019-04-03 10:34:30 · 300 阅读 · 1 评论 -
关于逻辑运算符 && ,|| 的巧用方式
逻辑与 &&&& 会先判断左边的值是否为真。如果为假,那么整个表达式毫无疑问也为假。如果为真,那就还需要判断右值,才能知道整个式子的值。这个时候判断右值的过程就起了一个if的作用,可以利用这个过程判断右边表达式是否为真。下面代码:/不用任何循环语句,不用if,来实现1+2+3+…+10的值/#include using namespace std;...翻译 2019-04-09 09:29:21 · 494 阅读 · 2 评论 -
cstring string 以及const char*的相互转换
1.CString转string复制代码//第一种方式:CString str = _T(“CSDN”);USES_CONVERSION;std::string s(W2A(str));//第二种方式:CString str = _T(“CSDN”);std::string s = (CT2A)str;复制代码2.string转CStringCString str;std:...翻译 2019-04-08 14:49:59 · 572 阅读 · 0 评论 -
typedef 与 #define 的区别
执行时间不同关键字 typedef 在编译阶段有效,由于是在编译阶段,因此 typedef 有类型检查的功能。#define 则是宏定义,发生在预处理阶段,也就是编译之前,它只进行简单而机械的字符串替换,而不进行任何检查。【例1.1】typedef 会做相应的类型检查:typedef unsigned int UINT;void func(){UINT value = “abc”...原创 2019-04-02 08:59:25 · 94 阅读 · 0 评论 -
剑指offer学习之六 从尾到头打印链表
1、第一个遍历的节点最后一个输出而最后一个遍历的节点第一个输出,这是典型的后进先出,可以用栈实现这种输出。2、指向指针的指针这个问题 我目前觉得取决于是否改变指向节点的头指针...翻译 2019-07-22 16:44:51 · 96 阅读 · 0 评论