
c++
文章平均质量分 88
叫毛哥
菜鸡小白
展开
-
dynamic_cast
(借用部分牛客网友回答)dynamic_cast<>用于C++类继承多态间的转换,分为:1.子类向基类的向上转型(Up Cast)2.基类向子类的向下转型(Down Cast)其中向上转型不需要借助任何特殊的方法,只需用将子类的指针或引用赋给基类的指针或引用即可,dynamic_cast、static_cast向上转型其总是肯定成功的。dynamic_cast是C++为了保证...原创 2018-09-06 12:55:25 · 194 阅读 · 0 评论 -
C++11模版元编程
转载自:https://www.cnblogs.com/qicosmos/p/4480460.html转载 2018-09-12 10:27:08 · 457 阅读 · 0 评论 -
关于VS中Qt项目运行出现错误:QWidget: Must construct a QApplication before a QWidget 线程 0x1f80 已退出,返回值为 1 (0x1)。
https://blog.youkuaiyun.com/zy2317878/article/details/82972751转载 2018-11-02 12:39:29 · 2120 阅读 · 0 评论 -
VS下为Qt项目运行程序设置ICO图标
1.将.ico图片放入项目目录下:如FireVideo.ico2.电脑桌面新建一个文本文件,命名为FireVideo.rc3.打开FireVideo.rc,并写入语句IDI_ICON1 ICON DISCARDABLE "FireVideo.ico"4.将桌面上的FireVideo.rc文件考到项目目录下。5.打开项目,选中项目-右击-添加现有项,将Fi...原创 2018-11-02 13:20:51 · 2091 阅读 · 1 评论 -
c++中.dll与.lib文件的生成与使用的详解
转载自:http://www.jb51.net/article/36447.htm两种库:• 包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。• 包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式:• ...转载 2018-12-03 10:50:59 · 252 阅读 · 1 评论 -
c++单例模式
单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个訪问它的全局訪问点,该实例被全部程序模块共享。有非常多地方须要这种功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接须要一条且仅仅须要一条电话线,操作系统仅仅能有一个窗体管理器,一台PC连一个键盘。 单例模式有很多种实现方法,在C++中,甚至可以直接用一个全局变量...原创 2019-08-12 15:58:42 · 164 阅读 · 0 评论 -
常量折叠
https://blog.youkuaiyun.com/q191201771/article/details/6087816转载 2018-09-04 10:30:43 · 127 阅读 · 0 评论 -
c++文本查询类设计
#include<iostream>#include<fstream>#include<sstream>#include<memory>#include<vector>//#include<map>#include<set>//#include<utility>#incl原创 2018-07-25 17:11:36 · 315 阅读 · 0 评论 -
C++中数组和vector的比较
一、数组C++中数组是一种内置的数据类型。数组是存放类型相同的对象的容器,数组的大小确定不变,不能随意向数组中增加元素。1、定义和初始化内置数组(1)数组的大小不变,(a[d],d为数组的维度),数组的维度必须是一个常量表达式。定义数组的时,必须指定数组的类型和大小。(2)初始化时,允许不指明数组的维度,不指明维度,则编译器根据数组初始值的大小推测出维度;若指定维度,则初始值的个数要小于等于维度,...转载 2018-06-04 16:45:38 · 14502 阅读 · 0 评论 -
CMake入门
什么是 CMake你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台编译。而如果使用上面的 Make 工具,就得为每一种标准写一次 ...转载 2018-06-13 11:12:45 · 156 阅读 · 0 评论 -
数据结构与算法学习之c++实现链表
//c++建立单链表及其基本操作//#include<iostream>#include<Windows.h>using namespace std;class Node{public: int Data; //节点所保存的数据类型 Node* next;//指向下一个节点的指针};typedef int DataTpye;class List_user{public: L...原创 2018-05-30 21:24:24 · 333 阅读 · 0 评论 -
c++常见问题总结
1.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。extern "C"是连接申明(linkage declaration),被exte...转载 2018-06-22 11:09:31 · 432 阅读 · 0 评论 -
c++关键字学习之const
转载自:https://zhuanlan.zhihu.com/p/27919970一. 基本描述定义变量时的限定符,表示变量值不能改变。const int bufSize = 512;bufSize = 512; // 错误:试图向const对象写值由于const一旦创建就不可更改,所以const对象必须初始化(否则定义一个默认值且不可修改的变量没有任何意义)。const int i = ge...转载 2018-06-01 09:54:41 · 138 阅读 · 0 评论 -
c++之指针和引用的区别
1.指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int a=1;int *p=&a;int a=1;int &b=a;上面定义了一个整形变量和一个指针变量p,该指针变量指向a的存储单元,即p的值是a存储单元的地址。而下面2句定义了一个整形变量a...转载 2018-06-11 10:20:10 · 124 阅读 · 0 评论 -
error:lvalue required as left operand of assignment
错误代码如下:解决方法:原创 2018-07-09 17:42:46 · 57600 阅读 · 3 评论 -
Qt creator中创建带图标的可执行文件
(1)首先在工程文件的.pro文件夹下创建一个后缀名为.rc的文件,如图所示:以(appicon.rc为例)(2)打开appicon.rc文件,在其中写入内容:IDI_ICON ICON DISCARDABLE "icon.ico"其中icon.ico是放在该目录下的图标文件;(3)在工程文件下的.pro文件中加入语句:RC_FILE = res.rc最后再重新编译运行即可得到带...原创 2018-06-28 16:12:12 · 1009 阅读 · 0 评论 -
运行错误:‘D:\Sublime’不是内部或外部命令,也不是可运行的程序或批处理文件
sublime Text3中写完代码保存文件之后运行出现下面错误:解决方法:代码文件不能保存在安装目录下,此时换个文件路径保存一下就解决了。原创 2018-07-05 21:58:45 · 3021 阅读 · 1 评论 -
c++继承机制(1)
(1) 我们先讨论这种线性继承机制:A->B->C->D 即B类继承了A,C继承了B,D继承了C;测试代码如下:#include<iostream>using namespace std;class A{public: A() {cout<<"A construction"<<endl;} ~A() {...原创 2018-07-18 17:43:02 · 1387 阅读 · 0 评论 -
运算符优先级+转义字符+ASCLL码
(1)运算符优先级优先级操作符描述例子结合性1()[]->.::++--调节优先级的括号操作符数组下标访问操作符通过指向对象的指针访问成员的操作符通过对象本身访问成员的操作符作用域操作符后置自增操作符后置自减操作符(a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 34;Class::age = 2;for( i = 0; i < 1...原创 2018-07-06 10:34:04 · 689 阅读 · 0 评论 -
char* ptr与char str[]的比较
(1) char* ptr="Hello World!";(新标准c++中这样写会有警告:ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] ) (2) char str[]="Hello World!";"Hello World!"本身都在存储在常量储存区。但是 char *str = "Hello ...原创 2018-07-13 15:24:44 · 1483 阅读 · 0 评论 -
c++优化策略
原文摘自:https://blog.youkuaiyun.com/D_Guco/article/details/757292591 关于继承:不可否认良好的抽象设计可以让程序更清晰,代码更看起来更好,但是她也是有损失的,在继承体系中子类的创建会调用父类的构造函数,销毁时会调用父类的析构函数,这种消耗会随着继承的深度直线上升,所以不要过度的抽象和继承。2 对象的复合:对象的复合和继承很相似,当一个对象包含其他对...转载 2018-05-19 14:53:52 · 141 阅读 · 0 评论