C++
watl0
1140454645@qq.com
展开
-
Effetive C++条款摘录
视C++为一个联邦语言。为了理解c++,你必须认识其主要的次语言。1.C 2.C with Classes 3.Template C++ 4.STL为了驳回编辑器自动提供的机能,可将相应的成员函数声明为private并且不予实现。析构函数不要吐出异常。如果一个析构函数调用的函数可能抛出异常,析构函数应该捕获异常,然后吐下它们或结束程序。如果客户需要在对某一个操作运行期间原创 2016-12-13 23:00:34 · 314 阅读 · 0 评论 -
【C++】C++11新特性 之 lambda表达式的使用
Cocos2dx 3.0 版本后加入了lambda表达式,或者说C++ 11终于引入了lambda表达式,那么,什么是lambda表达式呢?例如调用中的std::sort,ISO C++ 98 的写法是要先写一个compare函数:bool compare(int & a, int & b) { return a > b; /转载 2014-03-30 11:41:47 · 1251 阅读 · 0 评论 -
【C++】类型强制转换的注意事项
C++ 在设计中一直强调类型安全,而且也采取了一定的措施来保障这条准则的执行。但是,从C继承而来的强制转型却破坏了C++类型系统,C中的强制转型可谓是“无所不能”,其超强的能力给C++带来了很大的安全隐患。强制转型会引起各种各样的麻烦,有时这些麻烦很容易被察觉,有时它们却又隐藏极深,难以察觉。在C/C++语言中,强制转型是“一个你必须全神贯注才能正确使用”的特性。所以一定要慎用强制转型。原创 2014-04-22 11:12:14 · 2536 阅读 · 0 评论 -
【C++】 防止重复包含头文件
c++ 防止头文件被重复包含 原理详解原创 2014-04-22 10:58:18 · 2260 阅读 · 2 评论 -
【C++】字符串分割 strtok_s
【C++】字符串分割 strtok_s原创 2014-05-04 10:45:37 · 9569 阅读 · 0 评论 -
【Cocos2d-x】coocs2d-x + scoket 解析Json 流程总结
一个网络游戏的json解析流程原创 2014-03-22 15:42:43 · 1870 阅读 · 0 评论 -
Windows下用vs cocos2d-x-3.0rc0打包apk:
http://kome2000.blog.51cto.com/969562/1379667转载 2014-03-19 14:54:49 · 1442 阅读 · 0 评论 -
XCode调试 设置全局断点并快速定位问题代码所在行
http://mobile.51cto.com/iphone-278633.htm转载 2014-03-17 11:52:39 · 810 阅读 · 0 评论 -
mac 下 在cocos2d-x3.0 创建 Android 项目
http://blog.csdn.net/liu954412754/article/details/14167967转载 2014-03-15 17:51:02 · 727 阅读 · 0 评论 -
cocos2d-x 学习笔记
himi干货http://www.cocoachina.com/bbs/read.php?tid=78239原创 2014-03-15 13:31:10 · 836 阅读 · 0 评论 -
本地化处理 轻松支持多国语言
获取操作系统当前使用的语言,本地化 轻松支持多国语言原创 2014-03-11 23:26:16 · 2317 阅读 · 0 评论 -
C STL 之算法
经典连接:http://www.cplusplus.com/reference/algorithm/replace/原创 2014-03-11 23:36:28 · 631 阅读 · 0 评论 -
【C++】虚函数 多态 再理解
#includeusing namespace std;class Father{public:void Show(){cout}};class Son:public Father{public:void Show(){cout}};int main(){Father *p = new Son;原创 2014-05-10 10:27:49 · 662 阅读 · 0 评论 -
【c++】虚函数描述符override
C++11中为了帮助程序员写继承结构复杂的类型,引入了虚函数描述符override重载虚函数 就加上关键字override 这样编译器可以辅助检查是不是正确重载,如果没加这个关键字 也没什么严重的error 只是少了编译器检查的安全性原创 2014-05-10 12:45:25 · 2192 阅读 · 0 评论 -
程序员基础知识(大牛点评)
程序员基础知识(大牛点评):c++的基础知识、如面向对象的特征,构造函数、析构函数、动态绑定等,能够反映出应聘者是否善于把握问题本质,有没有耐心深入分析一个问题,另外还有常用的设计模式、UML图等,这些都能体现应聘者是否有软件工程方面的经验; 对基础知识的考查我特别重视c++的内存管理,因为内存管理会影响程序的效率和稳定性。基础知识反映出一个人的基础能力和基础素质,是以原创 2016-12-12 00:42:16 · 613 阅读 · 0 评论 -
gcc 编译C
原创 2016-09-24 11:55:57 · 249 阅读 · 0 评论 -
二进制理解
在数学计算中,二进制计数系统的公分母是最小的,它以2为基数。比如以6为基数的计数系统;你先数1,2,3,4,5,然后是10,11,12,13,14,15,然后是20,等等,实际上,应该先数0,1,2,3,4,5,然后是10,1l,12,13,14,15,等等。从O开始数,能比较清楚地看出每6个数字组成一组——因此6就是基数。注意,你应该从O开始一起数到比基数小1的数(因为基数是6,所以你应该从O数转载 2016-09-19 18:55:09 · 4404 阅读 · 0 评论 -
auto_ptr详解
auto_ptr指针介绍auto_ptr是这样一种指针:它是“它所指向的对象”的拥有者。这种拥有具有唯一性,即一个对象只能有一个拥有者,严禁一物二主。当auto_ptr指针被摧毁时,它所指向的对象也将被隐式销毁,即使程序中有异常发生,auto_ptr所指向的对象也将被销毁。1、设计动机:在函数中通常要获得一些资源,执行完动作后,然后释放所获得的资源,当程序员忘记释放所申请的转载 2016-09-18 10:46:28 · 409 阅读 · 0 评论 -
对显式隐式的理解
隐式转换各显式转换要求是同类型的,就是说两种数据类型必须兼容,隐式转换是向上转型(相当是子类转父类),而强制类型转换则是向下转型(相当是父类转子类),就好像long型的可以包含int型一样。而强制转换可以是不是同一种类型,(如同class1与class2同级别的类一样),两都进行内容上的解析。Convert.ToInt32与int.Parse都是强制转换,int.Parse是转换String为原创 2016-09-18 10:37:53 · 1572 阅读 · 0 评论 -
STL源码剖析之一:空间适配器(allocator)
空间适配器是 所有组件的核心每个操作系统都有自己的内存分配器他承担着内存分配 管理 释放作为模版参数传递到每个容器去allocate函数分配一片连续的未被构造的空间备用,deallocate 函数释放空间construct函数调用布局new,同时调用构造函数,对象被new定位在指定位置destory 函数调用析构函数,适配器分一级和二级第一级适配器剖析:第原创 2016-09-14 16:07:35 · 853 阅读 · 0 评论 -
std::function
//// main.cpp// 事件分发机制原理:// 其实就是函数指针通过注册函数调用关系// 在合适的时机调用即实现事件的响应// C++11之后有了tsd::function// Created by 杨 on 16/9/12.// Copyright © 2016年 yang. All rights reserved.//#原创 2016-09-13 22:35:50 · 316 阅读 · 0 评论 -
#ifdef 如何实现“与或”
原本用宏定义包起来的代码类似如下:[cpp] view plaincopyprint?#ifdef A //... #endif // A 现在要加入一个宏定义 B,实现类似这样的条件判断(显然实际上这样是不行的):[cpp] view plaincopyprint?#if转载 2015-06-02 20:37:33 · 7373 阅读 · 1 评论 -
【C++】 预编译头文件
许多初学 VC 的朋友也许都为那么一个问题困扰过: 为什么所有的 cpp 都必须 #include "stdafx.h" 也许请教了别的高手之后,他们会告诉你,这是预编译头,必须包含。可是,这到底是为什么呢?预编译头有什么用呢? 这得从头文件的编译原理讲起。其实头文件并不神秘,它的全部作用,就是把自己的所有内容直接“粘贴”到相应的 #include转载 2015-01-02 17:19:36 · 1937 阅读 · 0 评论 -
【C++】给C++初学者的50个忠告
1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开转载 2014-07-30 10:22:36 · 635 阅读 · 0 评论 -
[C++] 繁杂的语法之构造函数初始化列表
C++类构造函数初始化列表构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如:class CExample {public: int a; float b; //构造函数初始化列表 CExample(): a(0),b(8.8) {} //转载 2014-07-04 21:15:43 · 898 阅读 · 0 评论 -
【STL】哈希表 uthash.h
哈希表的使用 uthash的基本用法浅议cocos2d-x ActionManager原创 2014-05-28 15:01:20 · 2298 阅读 · 0 评论 -
编码转换
1.UTF-8 转换 Unicode 在编写FTP Client时,发现通过recv获取的数据是采用UTF-8方式进行编码的,直接用Unicode方式进行显示时会发生错误。采用MultiByteToWideChar也无法正确转换(default是Ascii to Unicode。是我的设置问题?没有仔细研究)。 因此学习了下UTF-8的编码原理,参考如下:标准的UTF-8是有原创 2014-03-11 23:49:33 · 1126 阅读 · 0 评论 -
IOS学习之路 之 icon 启动画面
cocos2d会默认读取Resources内的Default.png作为开始画面icon也是同样的自动读取Icon.png和Icon@2x.png(Retina模式)等原创 2014-01-04 20:31:27 · 3530 阅读 · 0 评论 -
C++中不定参数的函数实现
#include void appart(int a,...){ va_list va; va_start(va,a); while (a--) { char* name = va_arg(va,char*); int year = va_arg(va,int); cout } va_end(va);}int _tmain(int argc原创 2013-09-08 19:12:22 · 1314 阅读 · 0 评论 -
面试必备之 字符串表达式
#include "stdafx.h"#include #include #include using namespace std;int addsubt();int multdiv();int number();void error();static char expr[8];static int pos;int _tmain(int argc, _T原创 2013-09-08 19:21:23 · 778 阅读 · 0 评论 -
颠倒单词的出现顺序
题目:请编写一个函数颠倒单词在字符串里的出现顺序。比如说,你的函数应该把字符串"Now we are one!"转换为"one! are we Now"。假设所有单词都以空格为分隔符,标点符号也被当作字符看待。代码:void ReverseString(char str[], int start, int end){ char tmp; //exchan转载 2013-09-06 21:28:19 · 1553 阅读 · 0 评论 -
memcpy函数的实现+应用--详解
原文:http://liangbing8612.blog.51cto.com/2633208/696753 memcpy函数较memmove相比,存在的不足是没有考虑到目的地址与源地址相重合,本文对memcpy作了修改,弥补其不足。 memcpy函数的特点是: 1. 使用memcpy函数前,实参dest必须初始化,否则可能会出错,原因见2。 2.转载 2013-09-06 21:23:23 · 1202 阅读 · 0 评论 -
内存详解
一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(转载 2013-09-06 21:12:14 · 651 阅读 · 0 评论 -
用C++设计一个不能被继承的类
分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。 在Java 中定义了关键字final ,被final 修饰的类不能被继承。但在C++ 中没有final 这个关键字,要实现这个要求还是需要花费一些精力。 首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构转载 2013-09-06 21:15:27 · 708 阅读 · 0 评论 -
c语言字符数组与字符串的使用详解
1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h','a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定转载 2013-09-05 23:17:08 · 1241 阅读 · 0 评论 -
c++基础积累 友元friend的使用
通常对于普通函数来说,要访问类的保护成员是不可能的,如果想这么做那么必须把类的成员都生命成为public(共用的),然而这做带来的问题遍是任何外部函数都可以毫无约束的访问它操作它,c++利用friend修饰符,可以让一些你设定的函数能够对这些保护数据进行操作,避免把类成员全部设置成public,最大限度的保护数据成员的安全。 友元能够使得普通函数直接访问类的保护数据,避免了类成员函转载 2013-08-18 10:01:45 · 758 阅读 · 0 评论 -
C++基础积累 _tmain(int argc,_CHAR*arg[])参数的具体意义
原文链接:http://hi.baidu.com/quvia/item/9536d20a90b7f3eefe240d66 _tmain(int argc, _TCHAR* argv[])函数中第一个参数表示包括函数执行路径参数在内的参数个数argv[]第一个参数用来存储函数的执行路径,后面用来存储自己写入的参数。例如入参设置如下: 分别输入参数 1,和abc这是转载 2013-07-06 14:06:30 · 2135 阅读 · 0 评论 -
c++基础积累之 字节对齐
解释:现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构原创 2013-08-19 22:52:55 · 603 阅读 · 0 评论 -
C++中常用的库
#include void booltype(){ int gv = 9; isdigit(gv);// 0-9 islower(gv);//a isupper(gv);//A isalpha(gv);//a isalnum(gv);//a isspace(gv);//gv是空字符返回真 isprint(gv);//gv是可显示的ANSIC字符为真 to原创 2013-09-08 19:18:46 · 840 阅读 · 0 评论 -
C++基础 之 回调函数 原理剖析
软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。回调和异步原创 2013-09-11 23:00:49 · 2150 阅读 · 0 评论