
C++
ronal7do
这个作者很懒,什么都没留下…
展开
-
代码片段
以下代码是从Stack Overflow上看到的,对于C++ virtual的特性挺有参考意义的,于是记录下来:class A{ public: void f(){ std::cout << "A" << std::endl; }};class B : public A{ public: virtual void f(){ std::cout << "B" << std::endl原创 2021-02-02 16:14:56 · 296 阅读 · 0 评论 -
QSharedPointer的陷阱
Qt的智能指针有几类,这里说的是QSharedPointer,即使用引用计数的智能指针。这里说的QSharedPointer的陷阱,也可能是我的使用不当,不过还是想记录下来,让别人不要踩到同样的坑。先来看我的使用代码:static void UseSharedPtr(const QSharedPointer<QWidget>& pW){ const QSharedPointer<QWidget>& pW2 = pW;}void M..原创 2021-01-31 11:41:39 · 3200 阅读 · 0 评论 -
boost 已解决
调用asio的程序,需要连接wsock库,在编译时链接上就行:-lws2_32或-lwsock32原创 2015-07-05 09:47:10 · 701 阅读 · 0 评论 -
编译protobuf文件
编译proto文件原创 2015-07-21 15:29:09 · 1443 阅读 · 0 评论 -
冒泡排序
void buggle_sort(int myArr[],int len){ int i,j,temp; for(i = 0;i < len - 1;i++) for(j = 0;j < len - 1 - i;j++) if(myArr[j] > myArr[j + 1]) { tem原创 2015-04-11 00:11:38 · 530 阅读 · 0 评论 -
快速排序
快速排序原创 2015-04-07 23:27:56 · 651 阅读 · 0 评论 -
归并排序
void merge(int srcarray[],int temparray[],int startindex,int midindex,int endindex){ int i = startindex,j = midindex + 1,k = startindex; while (i <= midindex && j <= endindex) { i原创 2015-04-06 23:36:58 · 804 阅读 · 0 评论 -
算法——C++——插入排序——
1、排列整个数组:void insertsort(int array[],int num){ int i,j,k; for(j = 1;j <= num - 1;j++) { k = j; int key = array[j]; for(i = j - 1;i >= 0;i--) if(array原创 2015-04-05 14:43:17 · 962 阅读 · 0 评论 -
boost 库编译64位
boost大部分库只需要包含头文件即可使用,而有部分需要编译的,如下:E:\Qt\Qt3rdlib\boost_1_58_0>bjam --show-librariesThe following libraries require building: - atomic - chrono - container - context - coroutine原创 2015-07-05 09:28:20 · 4300 阅读 · 0 评论 -
由C++的const修饰引开来
假设定义了一个类HelloWorld// helloworld.h#ifndef HELLOWORLD_H#define HELLOWORLD_Hclass HelloWorld{public: HelloWorld(); int age() const; void setAge(int age);private: int m_age;};#e...原创 2019-09-13 02:34:58 · 4599 阅读 · 1 评论 -
C++的new操作符
new和delete是C++的操作符,而operator new和operator delete是C++库函数。operator new和operator delete和C语言的malloc和free比较类似,都是申请和释放内存。operator new和malloc是直接返回申请内存的指针,并且不对内存进行初始化,但new可以对申请的内存进行初始化,如:string *str = new ...原创 2019-09-13 14:11:30 · 4863 阅读 · 3 评论 -
由C++的多态想到 C++与Golang的一点区别
多态有种说法,Golang没有多态/继承,它叫组合,比如:type Base struct {}func (b *Base) sayHello() { b.Hello()}func (b *Base) Hello() { fmt.Println("Base Hello")}type Deverived struct { Base}func (d *Deveri...原创 2019-09-14 00:12:27 · 1044 阅读 · 0 评论 -
C++的指针和引用
指针就是指向变量的地址,而引用是变量的别名,通过指针或引用都可以修改变量的值,但两者的使用上会有一些差异,比如:引用在定义的时候必须初始化,且只能指向一个变量,后续不能指向其它变量。而指针在定义的时候可以不初始化,且后续可以修改指向为其它地址;引用的大小是所指向变量的大小,而指针的大小则是固定的,32位系统为4字节,64位系统位8字节;引用比指针更安全,因为引用在定义的时候必须初始化,所以...原创 2019-09-14 15:44:29 · 264 阅读 · 0 评论 -
C++的深复制与浅复制
上代码,定义类:// helloworld.h{public: explicit HelloWorld(); HelloWorld(const HelloWorld &otherHW); void operator =(const HelloWorld &hw); ~HelloWorld(); int *getPtr() const;...原创 2019-09-14 16:23:01 · 298 阅读 · 0 评论 -
Window 7&&VS 13学习笔记
1、VS13布局设置初始化原创 2014-09-20 14:44:56 · 653 阅读 · 0 评论 -
Cocos2d-x 学习笔记
1、2.2.5版本新建工程(1)jinr原创 2014-09-20 14:46:01 · 636 阅读 · 0 评论 -
C++中缀表达式转换后缀表达式
#include #include using namespace std;void inToPostfix(){ stack s; char token; cin>>token; while(token!='=') { if(token>'a'&&token<='z') cout<<token<<" ";原创 2013-11-23 23:14:46 · 2373 阅读 · 0 评论 -
字符串转置
void bad_Reverse(char *str) // 效率低的反转字符串函数 适合C风格字符串{ char * tmp = new char[strlen(str)]; strcpy(tmp, str); size_t ix = strlen(str) - 1; for (size_t i = 0; i < strlen(str); i++) {转载 2013-12-17 02:30:23 · 3513 阅读 · 0 评论 -
C++ 后缀转换中缀表达式
string postToInfix(){ stack s; string token; string a, b; cin>>token; while (token[0] != '=') { if (token[0] >= ’a’ && token[0] <= ’z’) s.push(token);原创 2013-11-23 23:21:41 · 1400 阅读 · 0 评论 -
关于main(int argc,char *argv[])
这个叫做命令行参数:经常在cmd命令行模式下调用程序的时候 通常是这样调用,比如:net stop w3svc net 就是这个程序的名称 后面的 stop、w3svc 就是命令行参数启动net.exe 并传送两个参数给它, 这个两个参数net.exe是怎么接收的呢, 就是靠net.exe的 main函数的接收那两个参数 main(int argc,char *argv[ ]) ar转载 2013-04-28 21:11:22 · 650 阅读 · 0 评论 -
结构体返回引用或值的小区别
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2015-04-12 11:47:54 · 908 阅读 · 0 评论 -
由类初始化和声明指针引起的文章
class Vehicle{public: virtual void run() const=0;};int main(){ Vehicle v1; (1) Vehicle *v2; (2)}编译的话,(1)会报错:’Vehicle’ : cannot instantiate abstract class (2)不会报错。 解释: 第一种抽象类不原创 2015-04-12 12:41:57 · 649 阅读 · 0 评论 -
关于C++虚函数和纯虚函数
关于C++虚函数和纯虚函数原创 2015-07-31 23:51:27 · 723 阅读 · 0 评论 -
C++笔记
1、 `#if !defined(OBJC) && !defined(__OBJC_BOOL) && !defined(__objc_INCLUDE_GNU) && !defined(_NO_BOOL_TYPEDEF) typedef int BOOL;endifdefine BOOL WINBOOLtypedef BOOL *PBOOL; typedef BOOL *LPBOOL;pra原创 2015-07-19 13:55:47 · 653 阅读 · 0 评论 -
进制表示
0x开头表示十六进制; 0开头表示八进制; 什么都没有表示十进制。原创 2015-07-04 10:47:37 · 865 阅读 · 0 评论 -
C++开发者都应该使用的10个C++11特性
在C++11新标准中,语言本身和标准库都增加了很多新内容,本文只涉及了一些皮毛。不过我相信这些新特性当中有一些,应该成为所有C++开发者的常规装备。你也许看到过许多类似介绍各种C++11特性的文章。下面是我总结的,C++开发者都需要学习和使用的C++11新特性。auto在C++11之前,auto关键字用来指定存储期。在新标准中,它的功能变为类型推断。auto现在成了一个类型的占位符,通知编译器去根据转载 2015-06-07 15:28:05 · 1221 阅读 · 0 评论 -
CMake 命令
1、Usagecmake [options] <path-to-source>cmake [options] <path-to-existing-build>2、Options......原创 2015-05-06 22:40:39 · 10950 阅读 · 0 评论 -
二维指针和二维数组的区别
1、定义指向数组的指针,需要指定数组的列 char arr[][3]或char (*arr)[3];//二维数组本质上是一维数组 *p[3]指针数组;数组的每一个元素都是指针 **p二维指针;指向指针的指针 2、int arr1[3]; int arr2[3]; int arr3[3]; int * ptr; // ptr1是一个指向 int [3] 的指针,原创 2015-04-12 13:57:40 · 2740 阅读 · 0 评论 -
程序员如何查找技术资料
1.English 。 英语实在是太重要了!每一个搞IT的英语一定要学好,不然很多事会很难搞定。计算机这玩意是老外发明的吧?操作系统,编程语言,IDE,SDK,android,iphone,cpu。。。几乎所有与计算机有关的东西,不管是硬件还是软件,都是老外弄的。而所有这些东西,第一手的资料肯定是英语写的。虽然现在很多东西都有中文翻译了,但是,由于翻译过程中存在严重的个人演绎问题,所转载 2014-09-20 14:53:03 · 3823 阅读 · 0 评论 -
C++ 求后缀表达式的值
C++ 求后缀表达式的值原创 2013-11-23 16:22:08 · 4390 阅读 · 2 评论