![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 70
木的感情的杀手
这个作者很懒,什么都没留下…
展开
-
Socket 与 Websocket通信交互 Linux/C++/epoll网络模型
Socket 与 Websocket通信交互 Linux/C++/epoll网络模型简要:Websocket是基于http协议实现的,而Socket是基于TCP/IP协议实现的。所以要想使Socket与Websocket进行数据交互,就必须在网络层手动解析http协议,大致分为两个步骤:握手连接 拆分协议帧。本实例使用Linux网络库,C++开发语言,epoll网络模型(不熟悉的童鞋可以百度,两者网络数据通信和epoll网络模型没有联系)示例代码:1.main...原创 2020-07-03 14:53:22 · 950 阅读 · 3 评论 -
数据结构之环形队列实现 (C++/数组)
数据结构之环形队列实现 (C++/数组)1.概念示意图 内存中不存在环形数据结构,均由基础结构实现逻辑上的闭环效果2.环形队列与普通队列的区别1.front头部指针一般队列:front头部指针初始值为-1,从队列取数据时,该值依次递增,指向的元素即待取出的数据,而队列的头部数据所在的指针位置为front+1。当front=maxSize-1时,队列最后一个数据取出,此时队列为空。环形队列:front头部指针初始值为0,指向的元素既是队列的头部数据也是待取出的数据。从队列取数据时..原创 2020-07-02 12:31:57 · 1308 阅读 · 0 评论 -
空悬指针和野指针
空悬指针和野指针的区别 空悬指针dangling pointer,指向已经销毁的对象或已经回收的地址。以下情况可能出现空悬指针:情况1{ char *dp = NULL; { char c; dp = &c; } //变...原创 2018-09-03 15:20:26 · 408 阅读 · 0 评论 -
Cocos2dx使用ClippingNode在ios上出现图片全白区域
解决方案:修改OpenGL渲染参数void AppDelegate::initGLContextAttrs() { #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) GLContextAttrs glContextAttrs = { 8, 8, 8, 8, 24, 8 }; #else GLContextAttrs glContextAttr原创 2018-01-31 17:31:16 · 510 阅读 · 0 评论 -
升级支持ipv4/ipv6后的Socket处理(cocos2dx项目苹果审核支持ipv6处理二)
升级支持ipv4/ipv6后的Socket处理前提条件是socket已经支持ipv4处理,需修改以下两处:1.创建socket时 //解析是ipv4地址还是ipv6地址 structaddrinfo addrin; structaddrinfo* pAddr = &addrin; int nRet =getaddrin原创 2016-10-19 16:12:59 · 2140 阅读 · 0 评论 -
cocos2dx Lua工程调用C++ 详细操作步骤
一、个人对“绑定”这词有两种理解1、lua绑定到C++,就是C++能调用到lua的东西,那必须让C++知道有哪些lua函数或变量可以用2、C++绑定到lua,就是lua能调用到C++的东西,当然也必须让lua知道有哪些C++东东可以给lua调用,所谓的“暴露”这里说的绑定就是第2种情况,在lua中能调用到Cocos2dx的函数。Cocos2dx通过工程里面的tools/to原创 2016-07-12 17:13:41 · 1263 阅读 · 0 评论 -
cocos2dx中精灵点击事件处理的两种方式——Sprite和ImageView
1. ImageView 的方式:封装的Widget组件ImageVIew实现了类似按钮的监听事件,所以处理起来很方便直接ImageView* _pPokerImageView;_pPokerImageView = ImageView::create(tmpStr); _pPokerImageView->setAnchorPoint(Vec2(0, 0)); _pPokerImage原创 2016-04-13 09:57:21 · 16820 阅读 · 2 评论 -
C++11之Lambda表达式使用
概念:lambda表达式又可以称作“匿名函数”,顾名思义,其是个函数。先看如下代码其中表达式的运用,初次遇见肯定一头雾水:#includeusing namespace std;int main(){ int a = 1; int b = 2; auto func = [=, &b](int c)->int {return b += a +原创 2015-12-01 11:37:55 · 624 阅读 · 0 评论 -
C++基础之快速排序实现(面试常考)
C++ 快速排序实现原创 2015-11-25 17:17:53 · 954 阅读 · 0 评论 -
C++11 基础之字符数组,字符串,字符指针通过sizeof、strlen求值
C++11 基础之字符数组,字符串,字符指针通过sizeof、strlen求值,自行思考结果值意义:运行结果如下:原创 2015-11-10 15:20:42 · 620 阅读 · 0 评论 -
C++11之std::bind
看看这段代码这几天学习Cocos2d-x,看到了以下的一段代码:// new callbacks based on C++11#define CC_CALLBACK_0(__selector__,__target__, ...) std::bind(&__selector__,__target__, ##__VA_ARGS__)#define CC_CALLBACK_1(__se原创 2015-10-21 14:02:43 · 565 阅读 · 0 评论 -
C++11之std::function
看看这段代码先来看看下面这两行代码:std::functionvoid(EventKeyboard::KeyCode, Event*)> onKeyPressed;std::functionvoid(EventKeyboard::KeyCode, Event*)> onKeyReleased;这两行代码是从Cocos2d-x中摘出来的,重点是这两行代码的定义啊。std::fu原创 2015-10-21 14:01:36 · 1300 阅读 · 0 评论 -
STL的vector<string>的三种简单初始化方式
(1)第一种,类似于数组的方式:[cpp] view plaincopyprint?std::vector strArray(10); strArray[0] = "hello"; strArray[1] = "world"; strArray[2] = "this"; strArray[3] = "find";原创 2015-10-20 16:46:06 · 5940 阅读 · 0 评论 -
结构体成员和结构体指针初始化
#include #include #include struct student{ char *name; int score; struct student* next; }stu,*stu1; int main(){ stu.name = (char*)mal原创 2015-10-20 16:48:58 · 666 阅读 · 0 评论