
C++
文章平均质量分 57
GR90
熟练使用C++写"Hello World"
展开
-
编译器内置宏的使用
前言:我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。比如,定义一个宏开关:#define __DEBUG当需要调试的时候,使用语句:#ifdef __DEBUGprintf(xxx原创 2022-01-26 16:23:51 · 448 阅读 · 0 评论 -
Beyond Compare 过期解决办法
1 window+R打开运行界面,在输入栏中输入 regedit :2 打开注册表,按下图路径找到beyond compare4:右侧目录中有个cacheId,删除就行,图中已经删除完成了。3 找到上图中beyond compare4的安装路径,删除路径下的BCUnrar.dll文件再次打开beyond compare,右下角显示依然在评估模式中:...原创 2021-11-09 17:31:04 · 10576 阅读 · 2 评论 -
C++类中使用函数指针
#include <iostream>#include <stdio.h>using namespace std;class Ctest{public: int a = 10; int* p = &a;//静态函数 static void statFunc() { cout << "This is statFunc" << endl; } //void(*pstatFunc)() = &statFunc;在类.原创 2020-12-30 11:20:57 · 2101 阅读 · 1 评论 -
C++ 宏定义函数(单行和多行)
先总结和宏和函数的不同之处,以供大家写代码时使用,这段总结摘自《C和指针》一书。 在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。宏定义中允许包含两行以上命令的情形,此时必须在最右边加上”\”且该行”\”后不能再有任何字符,连注释部分都不能有,下面的每行最后的一定要是”\”,”\”后面加一个空格都会报错,更不能跟注释。 我们来看一个例子,比较两个数或者...原创 2020-06-03 15:11:20 · 4665 阅读 · 0 评论 -
C++中的#、##运算符和__VA_ARGS__宏
#:构串操作符构串操作符#只能修饰带参数的宏的形参,它将实参的字符序列(而不是实参代表的值)转换成字符串常量#define STRING(x) #x#x#x#define TEXT(x) "class"#x"Info"//宏引用:int abc = 100;STRING(abc);TEXT(abc);//替换结果:abcabcabcclassabcInfo##:合并操作符合并操作符##将出现在其左右的字符序列合并成一个新的标识符注意:使用合并操作符##时...原创 2020-06-03 13:08:05 · 589 阅读 · 0 评论 -
UE4 删除C++类、拷贝C++类到本项目
步骤:1. 关闭visual studio2. 关闭UE4编辑器3. 删除项目中Soure文件夹中的你想删除的.cpp和.h文件4. 删除项目中的Binaries文件夹5. 右键. uproject文件,点击Generate Visual Studio project files6. 重新打开工程7. 如果提示需要重新编译项目,点yes...原创 2020-05-15 18:09:27 · 1778 阅读 · 0 评论 -
C++中引用和指针、
我们可以按“会议室”,这个名字找到开会的地方,也可以按地址“1105”号房找到它。1105是地址,换句话说,1105所指的房间就是会议室。你也可以给这个会议室起个别名。(别名就是引用)例如:变量a的地址是“2205”,则2205所指存储单元就是a。1、定义理解 指针: C++中,指针访问运算符“*”。例如,*(2205)相当于变量a的名访问。但是我们...原创 2018-01-29 11:30:46 · 161 阅读 · 0 评论