![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 84
有梦想的伟仔
失败者总在怪别人。
展开
-
Visual Assist实现*.h和*.cpp的函数声明和定义的同步。
在使用Visual Studio作为开发环境的时候,没有VA实在是大大的不便。我就遇到这么一个问题很头疼:在*.h中声明一个函数,在*.cpp中需要再输入一次,要是1、2个函数的话倒是没事,函数多了, 做了很多无用功。装了VA的情况下,将光标移动到需要定义的函数上,按下快捷键:ALT+SHIFT+Q就可以在cpp文件中生成该函数的框架了。步骤如图:1.2.原创 2017-08-26 09:54:10 · 963 阅读 · 1 评论 -
Windows下的静态库和动态库
“......缺少xxx.dll.....”,想必大家都碰见过这样的错误,但是很抱歉,在这里并不会讲具体怎么解决这个错误,只是借这个错误引出“动态库”(这个xxx.dll就是一个动态库),借“动态库”引出静态库的概念。在使用C/C++编程的时候,我们通常使用*.h和*.cpp的方式来书写我们的代码,可这存在一个问题:当我们需要将写好的功能分享给别人时候的时候,如果同时把*.h和*.cpp原创 2017-10-25 14:37:03 · 4609 阅读 · 0 评论 -
完整卸载SQL Server2008
如何完美卸载SQL Server 2008 R2。一、卸载SQL Server 2008 (R2) 1、找到控制面板,win8及win7都可以直接点解“开始”按钮找到。(Tip:win10系统的小盆友可以在“开始”菜单下点击“所有应用”,找到windows系统,点击打开下级菜单,you can see it )2、点击程序分类下的“卸载程序”3、在我们自己的程序列表当中找到我们此次的目标转载 2017-11-13 13:52:54 · 22708 阅读 · 3 评论 -
SQL Server 2008允许远程访问配置
如果无法通过IP地址远程连接你的SQL Server 2008服务器,可以参考下面的内容进行设置。在进行下述设置之前,应该确保你的网络已经安装设置完毕,服务器已经正常连接到网络中。1、单击Windows的”开始”,依次选择”所有程序”、”Microsoft SQL Server 2008”,然后单击“SQL Server Management Studio”,在对象资源管理器中,右击你的服务器,转载 2017-12-04 11:15:37 · 2547 阅读 · 0 评论 -
C/C++中的volatile和explicit
volatile:总是重新从它所在的内存读取数据explicit:关闭隐式转换原创 2017-11-26 12:59:31 · 184 阅读 · 0 评论 -
CreateInstance(__uuidof(Connection))执行失败的解决办法
遇到的实际问题:在MFC中,使用ADO来实现数据库操作时,经调试发现,在执行if(pConnection.CreateInstance(__uuidof(Connection)) != S_OK)时成功,即:pConnection.CreateInstance(__uuidof(Connection))失败。 出错的环境:研发机:win10客户机:win7和xp原创 2017-12-07 12:02:10 · 8443 阅读 · 0 评论 -
C++“模板”和Java“泛型”
无论是C++的模板还是Java的泛型,都是想要实现:编译器识别类型。 只是两个语言实现这个目的的手段不同而已,C++使用的是“代码生成”的方式,而Java使用的是“类型擦除”的方式。“代码生成”:编译器在编译期间识别实际传入的参数类型,生成用于该类型的代码。“类型擦除”:编译器在编译期间将实际类型擦除,将每个类型都视为Object类型。例如,假设有一下java 代码:[java] view plai转载 2018-01-22 14:44:14 · 1175 阅读 · 0 评论 -
Qt Creator使用多线程编辑,增加编译速度
如图设置,(我个人习惯,重新构建,编译。以确保不出现一些不必要的小毛病):原创 2018-07-23 11:05:16 · 6191 阅读 · 0 评论 -
Qt *.pro文件的INCLUDEPATH和LIBS写法
Qt *.pro文件的INCLUDEPATH和LIBS写法一般的通用,如图所示:Tips: LIBS的写法有上面2种,即: ①使用-L和-l(推荐),L:Local,即库的位置,表示的是库所在的文件夹。 LIBS += \ -L/usr/local/qwt-6.1.3/lib -lqwt \ ②直接写库,具体到绝对路径,l:lib,即库本身,表示的是...原创 2019-04-14 11:18:12 · 25578 阅读 · 5 评论 -
C++中的 ::
C++中的双冒号 ::第一种,类作用域,用来标明类的变量、函数 Human::setName(char* name);第二种,命名空间作用域,用来注明所使用的类、函数属于哪一个命名空间的 std::cout << "Hello World" << std::endl;第三种,全局作用域,用来区分局部、全局的。最容易被忽视的一种,很多时候写了一个全局函...原创 2019-04-19 13:44:22 · 127434 阅读 · 26 评论 -
什么是“预编译头”?
什么是“预编译头”?不陌生的stdafx.h在项目创建的时候,我们默认勾选了Precompiled header复选框,创建的工程中就自动添加了stdafx.h和stdafx.cpp,stdafx.h就是预编译头文件,勾选Precompiled header就表明采用了微软的预编译头技术。 图 1:Application Settings打开或关闭预编译方式右键工程名->Propertie转载 2017-10-25 09:32:09 · 1876 阅读 · 0 评论 -
C与C++中的struct
“说说struct吧”“struct是一个结构体,通常是用来实现某种数据结构用的。”“还有呢?C和C++中的结构体有什么不同?C++中struct和class有什么区别?”“呃.........”乍一看,struct想必都见过,可一问细节,不熟悉的话着实答不上。C和C++中的structC:在C中,struct扮演的是用户自定义的数据类型,只能由已定义的数据类型(可以是另一原创 2017-10-24 17:01:22 · 480 阅读 · 0 评论 -
关于static_cast、dynamic_cast、const_cast、reinterpret_cast
C++中的类型转换分为两种:隐式转换、显式转换。关于static_cast、dynamic_cast、const_cast、reinterpret_cast,它们的知识是关于“显式转换”的。类层次的转换:1.上行转换:把子类的指针或引用转换成父类的,安全。2.下行转换:把父类的指针或引用转换成子类的,不安全,通常需要开发人员来保证。static_cast:用法:st原创 2017-08-28 13:41:44 · 356 阅读 · 0 评论 -
C/C++运算符优先级
优先级 操作符 描述 例子 结合性1() [] -> . :: ++ –调节优先级的括号操作符 数组下标访问操作符 通过指向对象的指针访问成员的操作符 通过对象本身访问成员的操作符 作用域操作符 后置自增操作符 后置自减操转载 2017-09-11 00:40:39 · 192 阅读 · 0 评论 -
Ubuntu下,Qt编译报错:cannot find -lGL的解决办法。
Ubuntu下,Qt编译报错。错误为:cannot find -lGL,如图:sudo apt-get install libqt4-dev 可以解决,如图:原创 2017-09-12 10:26:04 · 567 阅读 · 0 评论 -
C++template(模板)的使用
在C++中,针对于“泛型”的编程时,需要使用模板,泛型:任何数据类型。比如:做一个同时支持int和double型的加法运算,并输出。传统的做法:#include using namespace std;int add(int a,int b){return a+b;}double add(double a,double b){return a+b原创 2017-09-28 11:27:50 · 732 阅读 · 0 评论 -
“堆”和“自由存储区”
“C/C++中的内存分为几个区?”“通常分为5个区:堆、栈、自由存储区、全局/静态存储区、常量存储区”。“堆和自由存储区有什么不同吗?”...书上通常这么说:malloc/free在堆上申请和释放内存,new/delete在自由存储区上申请和释放内存。堆(heap)C语言和操作系统的术语,堆是操作系统所维护的一块特殊内存,它提供了动态分配的功能,当运行程序调用mal原创 2017-10-27 09:14:27 · 3127 阅读 · 0 评论 -
malloc/free与new/delete的区别
“说说malloc、free和new、delete之间的区别吧。”“malloc和free好像是C语言中常用的,new和delete好像是只有在C++中才用。”... 主要有4点区别:①malloc/free是函数,new/delete是运算符。②malloc在堆上申请内存空间,new在自由存储区上申请内存空间。(关于“堆”和“自由存储区”,请看http://blog.cs原创 2017-10-27 12:11:34 · 312 阅读 · 0 评论 -
全局/静态存储区、常量存储区
全局/静态存储区:全局变量和静态变量被分配到同一块内存中;常量存储区:存放的是常量,是不允许修改的。 静态存储是main函数运行前分配内存并初始化;常量存储是固化在执行文件上的数据。 栈的方向和平台有关,一般来说,windows由高地址向低地址增长,linux相反,但基于linux的第三方系统得看实际情况才知道。 常量存储区里面的数据是放在代码段里的,不占内存。静态原创 2017-10-27 14:39:52 · 6851 阅读 · 5 评论 -
内存地址与寻址
先理清楚2个单位概念:①位(bit):计算机存储信息的最小单位。②字节(Byte):计算机存储信息的基本单元,1Byte = 8 bit。 bit在大多数情况都以“了解硬件的工作原理”的方式出现的,Byte才是我们真正用于存储数据的单元,换句话说,我们存储的数据是精确到Byte而不会精确到bit。如图: 因此,寻址是对于Byte而言的,而不是对于bit。原创 2017-10-23 13:07:47 · 1479 阅读 · 0 评论 -
MQTT之QOS机制分析
MQTT之QOS机制分析QOS:quality of service,即 “质量服务”。质量服务质量:通讯质量,即 “消息的可靠性”。服务:保证消息可靠的机制。小编的测试、分析环境MQTT服务端使用的EMQ,服务器系统Centos7.5。阅读前提1、 首先必须要了解MQTT是做什么用的。2、 其次最起码要搭建过一个MQTT的服务端起来,下载一个客户端,发布/订阅玩一下。小编...原创 2019-04-25 16:11:22 · 14606 阅读 · 4 评论