![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
sunchuquin
这个作者很懒,什么都没留下…
展开
-
C++ 直接初始化与赋值初始化,讲的很仔细
一、我的问题是关于初始化C++类成员的。我见过许多这样的代码: CSomeClass::CSomeClass() { x=0; y=1; } 而在别的什么地方则写成下面的样子: CSomeClass::CSomeClass() : x(0), y(1) { } 我的一些程序员朋友说第二种方法比较好,但他们都不知道为什么是这样。你能告诉我这两种类成员初始化方法...转载 2018-05-23 19:19:26 · 5091 阅读 · 2 评论 -
【二次开发基于 Qt Creator 的 IDE】第一篇:在 Win10 使用 qmake 和 mingw32-make 编译 Qt Creator 4.3.1
不知从哪个版本开始,采用了 QBS 工程管理 和 LLVM 相关的插件,导致编译起来比较麻烦(暂时不需要考虑 这两种插件的实现和功能),我目的只是 编译、运行、熟悉 QtCreator 结构(能拆解与二次开发),最终实现基于 QtCreator 的 IDE (拥有自己的编程语言,我是准备用于 智能卡自动化测试平台,也就是一种上位机)。首先需要去除上面提到的两种插件的编译,如下图进入 ...原创 2018-12-17 00:03:45 · 1577 阅读 · 0 评论 -
类函数指针
类函数指针的类型声明: typedef 函数类型 (类名::*指针类型名)(函数参数, …);用以上类型定义指针变量: 指针类型名 指针名;直接定义类函数指针: 函数类型 (类名::*指针名)([函数参数], …);将类成员函数的地址赋值给指针变量: 指针名 = &类名::函数名;执行指针变量指向的类成员函数: 类名 对象名; 函数类型 ...原创 2018-08-24 13:38:47 · 1497 阅读 · 0 评论 -
在QT5中使用闭包/内联函数Lambda
步骤一:Qt5支持C++11,但要使用它,还需要先在Pro文件中添加 “CONFIG+=C++11”步骤二: 场景1、在关联函数中嵌入Lambdaconnect(ui->comboBox, &QComboBox::currentTextChanged, [&](){ qDebug()<<"Lambda表达式";}...原创 2018-08-24 13:37:44 · 1100 阅读 · 0 评论 -
QT使用仿函数的学习记录
最近在设计一个测试平台,为菜单栏创建动作的时候,看到有 func1 slot 这个参数,随着好奇,通过度娘和实践,成功在QT中调用了它(仿函数)打开QMenu的帮助文档,看到有以下十个原型:QAction *QMenu::addAction(const QString &amp;text)QAction *QMenu::addAction(const QIcon &amp;icon,...原创 2018-08-20 16:22:49 · 920 阅读 · 0 评论 -
内存
在程序没有执行前,以下几个内存分区已经确定,虽然分区确定,但是内存只有在程序运行时才被加载。1、text(代码区):只读,函数2、data:初始化的数据,全局变量,静态变量,文字常量区(只读)3、bss:没有初始化的数据,全局变量,静态变量当运行程序,加载内存,首先加载上面确定的3个内存分区(text,data,bss),然后额外加载2个区:1、stack(栈区):普通局部变量...原创 2018-07-24 11:26:48 · 180 阅读 · 0 评论 -
变量
普通局部变量1、在花括号内部直接用数据类型定义的变量2、只有执行到定义变量的语句,系统才会给这个变量分配空间3、只有离开花括号的时候,才自动释放4、基于 特性3,释放之后无法继续操作该变量5、只要不是在同一个花括号,就可以出现重名的情况6、初始值是随机数静态局部变量1、在花括号内部用static+数据类型定义的变量2、编译阶段就已经分配空间,定义的语句未执行之前...原创 2018-07-24 11:25:57 · 184 阅读 · 0 评论 -
指针
1、指针变量也是一个变量,是变量就可以赋值2、指针指向谁,就把谁的地址赋值给指针3、*变量 操作的是指针所指向内存,可以用来 被赋值 与 取值4、不可定义void类型的变量,因为不能确定类型5、可定义void 变量,void 指针也叫万能指针6、void *可以指向任何类型的变量,使用指针所指向的内存时,要先转换为它本身的指针类型7、指针步长是根据指针类型决定的,所以用万能...原创 2018-07-24 11:25:24 · 203 阅读 · 0 评论 -
深入理解MFC子类化(读后感)
A问:子类化为什么存在,它有什么用? B答:例如,平时我们登录账号或输入一些信息的时候,不小心或故意输入非法字符时,输入框附近就会有红色字体警告并提示我们合法的输入规则是怎样的。 B问:如果让你实现这个特性,你的方案是? A答:我觉得可以利用已有的编辑框控件吧,在它基础上,写个函数来实现。 B问:具体怎么实现呢? A答:我会先创建一个Edit编辑框控件,在类向导绑定它的变量对象,然后定义...原创 2018-07-11 09:36:10 · 334 阅读 · 0 评论 -
堆和栈的概念和区别
在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分: Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中每一片内存处理的方式都不同,所以要单独进行管理。 JVM内存的划分有五片: 1. 寄存器; 2. 本...转载 2018-07-03 14:09:50 · 201 阅读 · 0 评论 -
C/C++ 判断五个整形的最大值和最小值(用三目运算符实现)
int Xmax(int a,int b,int c, int d, int e){ int max; max=(a&amp;gt;b?a:b)&amp;gt;c?(a&amp;gt;b?a:b):c; max=(max&amp;gt;d?max:d)&amp;gt;e?(max&amp;gt;d?max:d):e; return max;}int Xmin(int a,i原创 2018-06-30 12:25:15 · 1291 阅读 · 0 评论 -
添加DLL遇到的坑
error LNK2001: unresolved external symbol "__declspec(dllimport) const DllClass::`vftable'" (__imp_??_7DllClass@@6B@)VC6:工程、设置、C/C++、分类:Preprocessor、附加包含路径:填写附加头文件所在目录 逗号间隔多项工程、设置、Link、分类:Input、附加库路径:...转载 2018-06-21 11:29:37 · 334 阅读 · 0 评论 -
VS2010带参宏定义函数返回值的坑(亲测Keil不会复现这种低级问题)
代码就不贴了,因为我写的演示没有复现(说明还是没搞明白问题怎么来的),但遇到下面这种警告,就需要注意宏定义是否足够明确warning C4013: ‘nvm_read_u8’ undefined; assuming extern returning int原宏定义#define NVM_READ_U8_NOCACHE(addr) nvm_read_u8(addr)改正后的宏定义#d...原创 2019-06-27 10:39:54 · 897 阅读 · 0 评论