首页
学习
活动
专区
工具
TVP
发布

跟Qt君学编程

觉得有用再分享,文章首发公众号「Qt君」欢迎关注。
专栏作者
680
文章
1033345
阅读量
70
订阅数
vim目录操作
  有时候我们使用vim打开一个文件,不小心打开的却是类似下图的内容,其实它处于目录操作状态。
Qt君
2020-06-17
2.5K0
意想不到的输出结果
  对于最外层operator<<()函数,其参数1为:operator<<(std::cout, i++),参数2为:++i。「最主要原因是函数形参之间没有明确的求值顺序约定」。这就会导致不同的编译器得出不一样的结果。
Qt君
2020-03-23
5870
C语言中的双重否定
  下列代码的目的是「将"分支转移"的信息提供给编译器,这样可以让编译器对其代码进行优化,以减少指令跳转带来的性能下降」。 __builtin_expect的意思是「允许程序员将最有可能执行的分支告诉给编译器」。
Qt君
2020-03-19
2.6K0
解决QtCreator无调试器的问题
❝使用QtCreator的MSVC 2017编译器不能调试这就很纳闷了,我使用mingw是可以的调试的(mingw默认安装附带了调试器),查看错误信息和QtCreator配置才知道原来MSVC调试器没安装。 ❞ 运行调试时报以下错误 Unable to create a debugging engine. (无法创建调试器。) 解决方法 下载运行win10sdksetup.exe https://developer.microsoft.com/en-US/windows/downloads/windows-
Qt君
2020-02-24
2K0
C/C++黑魔法-模板威力
  模板是指作图或设计方案的固定格式。在代码层面上来看,模板是固定格式的代码。我们通过固定格式的代码模板实现不同的代码模型。C语言模板一般为函数模板,而C++除了函数模板外还有类模板。
Qt君
2019-12-25
5540
C++替代关键词(and,or,not)
下列例子用到了C++的关键词and,not,虽然这种做法比较少用,但它可读性比||和!会好很多。 bool isOk = false; int i = 1; if (i < 2 and i > 0) isOk = true; if (not isOk) { printf("OK"); } 替代关键词有哪些? 可以在iso646.h头文件中找到: && 关于替代关键词 使用and,or这些关键词时可以避免只写一个&或|导致逻辑错误。 if (x && y) { ... } /* 遗留了&
Qt君
2019-10-24
9080
利用qmake分类编译输出的中间文件
通过配置项目文件控制编译器分类生成中间文件,中间文件较多时作用较大。 DESTDIR 设置执行文件的输出目录,如(.exe文件)。 OBJECTS_DIR 设置编译时生成的中间代码文件路径。 MOC_DIR 设置编译时生成moc文件的路径。 注:所有QObject派生的类都会生成moc。 RCC_DIR 设置编译时资源文件的路径。 注:把图片放到qrc里面,使用编译器生成qrc_xxx.cpp文件。 UI_DIR 设置编译时ui界面文件的路径。 注:如存在xxx.ui文件则编译器生成名为ui_xxx.h文件
Qt君
2019-10-15
1K0
程序打包问题及解决方法汇总
  小白:怎么我编译好的程序在QtCreator能运行,但我在文件夹下打开却不行了呢?   Qt君:因为QtCreator运行下的程序附带了运行环境,而离开了QtCreator软件没有运行环境会报以下的一些错误(库找不到)。
Qt君
2019-09-30
1.8K0
头铁君码代码
  一早看到头铁君满头大汗地敲键盘,平时最迟来的,今天却一早就在敲代码,这是怎么了?走进一看,飞快的Ctrl+C,Ctrl+V。头铁君你这是干嘛。。。手速这么快?Qt君你别说了,快给我弄一下,我的手都麻了。这烫手的山芋接不得啊。只看到它写了一堆的计算方法。
Qt君
2019-09-10
3320
C/C++/Qt屏蔽输出流技巧
教大家如何屏蔽printf,cout,qDebug等打印信息。 1. MSVC编译器 将两个“/”连接成“//”实现注释是MSVC编译器扩展功能。 #define cout /##/ #define printf /##/ #define qDebug /##/ 启用宏替换后变为注释语句 printf("Hello world!"); 相当于: //("Hello world!") cout << "Hello world!"; 相当于: // <<("Hello world!") qDebug()
Qt君
2019-08-20
1.5K0
Windows编译libjpeg库
  由于VC++6的编译方法与VS2017方法基本相同,这里使用VS2017的编译环境编译。
Qt君
2019-07-30
3.3K0
C/C++黑魔法-隐含的this指针
从一个编译错误去理解this指针。 编译错误的示例 class Car { public: const int &weight() { return m_weight; } private: int m_weight; }; int main(int argc, char *argv[]) { const Car car; int weight = car.weight(); return 0; } 编译后会出现以下错误: main.cpp:15: error: C2662: “const
Qt君
2019-07-16
3690
C/C++黑魔法-枚举骇客
枚举的奇淫技巧! 枚举特性中: 枚举必须在编译时建立其所有值,并且其值可用于常量表达式。 1 在旧的编译器中以下代码不能编译通过 static const int length = 100;int i[length]; 2 利用枚举间接实现 struct Body { enum { length = 100 }; int i[length];}; 3 枚举骇客的由来 staticconst不被编译器作常量支持,这一点令人费解。 在编译器中不能被支持,利用枚举的特性来支持; 枚举特性中: 枚举必须
Qt君
2019-07-15
3570
C/C++黑魔法-编译期断言
今天查看Linux内核源码,出现一个很奇怪的用法。可以在静态编译期的断言。 1. 内核源码 kernel.h BUILD_BUG_ON_ZERO判断表达式非零值编译器报错; BUILD_BUG_ON_NULL判断表达式指针地址非空报错。 /* Force a compilation error if condition is true, but also produce a result (of value 0 and type size_t), so the expression can be use
Qt君
2019-07-15
6360
QtCreator-启用/关闭FakeVim模式
使用QtCreator编辑代码时,突然不知道按了什么按键,输入方式变了, ctrl+c和 ctrl+v都用不了,原因是开启了FakeVim模式。 FakeVim模式 在FakeVim模式下,您可以以类
Qt君
2019-07-15
1.7K0
浅谈警告即错误
  昨天,新来不久的同事调试一个准备上线的功能,可是怎么也调试不出来。当时刚好在喝水,看到他几百个警告。就和他说你还是处理一下编译警告吧。他一脸焦虑地说:没空弄啊?!功能快要上线了,来帮我看看。他还说,如果是很严重的警告,会导致编译错误,能编译过就可以了。
Qt君
2019-07-15
7360
C/C++黑魔法-另类switch
介绍duff写法与范围判断 duff写法 int n = 1;switch (n) { case 0: do { printf("%d ", 0); case 1: printf("%d ", 1); case 2: printf("%d ", 2); case 3: printf("%d ", 3); case 4: printf("%d ", 4); } while (n-- > 0);} 用于循环优化,提高性能。但现代编译器已经支持得很好了。 输出
Qt君
2019-07-15
4530
数组a[i]与i[a]相等之术
为什么数组值a[1]与数组值1[a]是相等的?为什么会出现这种的奇怪现象?
Qt君
2019-07-15
6520
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档