C++
文章平均质量分 66
sylalak123
这个作者很懒,什么都没留下…
展开
-
c++中的左值引用和右值引用
临时变量指的是非引用返回的函数返回值、表达式等,例如函数int func()的返回值,在理解C++11的右值前,先看看C++98中右值的概念:C++98中右值是纯右值,纯右值指的是临时变量值、在C++11中可以取地址的、有名字的就是左值,反之,不能取地址的、没有名字的就是右值(将亡值或纯右值).若等号右边出现:&b,这样的操作是,也是右值,因为取地址符的操作也是在寄存器中完成的.所以不能作为左值。其实对于左值还是很好理解的,主要是对于右值是不好理解的,特别是代码的16行处:右值的例子.原创 2022-10-21 10:54:16 · 658 阅读 · 1 评论 -
C++11多线程std::thread的简单使用
在cocos2dx 2.0时代,我们使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上。但在cocos2dx 3.0中并未发现有pthread的支持文件,原来c++11中已经拥有了一个更好用的用于线程操作的类std::thread。cocos2dx 3.0的版本默认是在vs2012版本,支持c++11的新特性,使用std::thread来创建线程简直方便。下面介绍下std:...转载 2018-07-17 11:29:30 · 266 阅读 · 0 评论 -
Protocol Buffers 网络协议转换缓存协议
历史版本:https://github.com/google/protobuf/releases?after=v3.0.0-alpha-4文档:https://developers.google.com/protocol-buffers/docs/proto原创 2018-07-02 09:53:27 · 365 阅读 · 0 评论 -
基于VS2013配置pthread
前几天在家里跑了个项目,发现报错,提示需要配置 pthread 库,搞了一下,大概流程如下1.下载 pthread 库,点击打开链接 2.下载之后如图一,打开之后,可点击图二 Browse 改变安装路径,然后 点击 Extract 提取,得到图三(图一)(图二)(图三)3.配置到项目中Pre-built.2文件夹下的 include 和 lib 分别放在 包含目录 和库目录然后下面 链接器->...转载 2018-07-02 09:41:22 · 358 阅读 · 0 评论 -
C语言截取从某位置开始指定长度子字符串方法
C语言中没有从某位置开始指定长度子字符串的函数(还是我没找到?),只有从头开始截取的strncat和strncpy,以strncpy为例:char dest[4] = {""};char src[] = {"123456789"};strncpy(dest, src, 3);puts(dest);输出结果为 123看到了吗,strcpy函数中的参数是字符串...转载 2018-05-17 16:45:34 · 43389 阅读 · 2 评论 -
int转换为string的两种方法(to_string、字符串流)
记录一下用到过的int转换成string的两种方法第一种是to_string函数,这是C++11新增的,使用非常方便,简单查了下:C++11标准增加了全局函数std::to_string,以及std::stoi/stol/stoll等等函数(这几个就是string转int,long,以及long long啦~)to_string这个函数还是很强大的!转载 2017-11-16 16:20:09 · 5083 阅读 · 1 评论 -
纯虚函数和抽象基类的使用
最近在横版格斗游戏制作分析的时候,遇到了纯虚函数,特此记录下来。收集了一些资料。class SimpleDPadDelegate{public: virtual void didChangeDirectionTo(SimpleDPad *simpleDPad, cocos2d::Point direction) = 0; virtual void isHoldingDirection(SimpleDPad *simpleDPad, cocos2d::Point direction)原创 2017-11-29 11:38:41 · 531 阅读 · 0 评论 -
c/c++中string与char的区别
在C语言中,string 是定义一个字符串,存储的是一段如“abcd”的数据,而且最后还有一个结束符'\0';char 是定义一个字符,存储一个字符,占一个字节。在C++中,string有两种,一种是字符串char[],另外一种是封装好的字符串类,要区别理解。例如'a'是char, "a"是char string,这两者都是普通的字符和字符串,和C语言中没什么不同值得注意的是后者包含两个字符,末尾有一个隐身的'\0'原创 2017-11-03 15:45:16 · 97710 阅读 · 19 评论 -
浅谈C中的malloc和free释放
在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是 malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以转载 2017-09-27 15:56:12 · 250 阅读 · 0 评论 -
C++ 动态存储空间的分配和释放 new与malloc的区别
使用new申请空间:特点: 1、没有名字,只能通过指针间接访问它们。 2、从堆中申请空间分类:变量: 语法:指针变量 = new 类型名;转载 2017-09-27 15:31:50 · 553 阅读 · 0 评论 -
两个头文件相互包含问题
【问题】 Game.h包含了Ship.h,并且Ship.h也包含了Game.h。 然后在Game.h中声明了一个成员变量为Ship类:Ship* ship; 会出现找不到Ship类的错误。转载 2017-09-11 10:30:06 · 410 阅读 · 0 评论