C++
文章平均质量分 66
会孵蛋的鱼
爱程序,爱生活。
展开
-
C++中数字与字符串之间的转换
1、字符串数字之间的转换(1)string --> char * string str("OK"); char * p = str.c_str();(2)char * -->string char *p = "OK"; string str(p);(3)char * -->CString char *p ="OK"; CSt转载 2015-08-23 16:12:35 · 286 阅读 · 0 评论 -
彻底删除VS2013
1. 解压VS2013的安装包(iso)。2. 在解压的文件夹下按住shift,右击此文件夹,选择在此处打开命令窗口。3. 输入 vs_ultimate.exe /uninstall /force原创 2016-01-15 15:16:34 · 2309 阅读 · 0 评论 -
c++之tuple
多次想使用这个可以含任意类型的容器都想不起来,特记录一下,供以后查证。tuple的网络释义是多元组,由此可以推断出它的性质:一个可以包含任意不同类型的集合。使用用法如下:#include // std::cout#include // std::tuple, std::get, std::tie, std::ignoreusing nam原创 2016-01-21 10:12:16 · 417 阅读 · 0 评论 -
c++中const用法大全与实质剖析
c++中const用法大全与实质剖析在c++中,const是定义一个常量,意味着不能更改,相当于只读状态,它能修饰基本数据类型,方法,类类型等,具体用法如下所示。1. 修饰基本数据类型,代表此变量无法更改,即常量,用法如下。const int a=10;int const b=20; 注:两种用法相同,且必须初始化。2. 修饰指针,指向常量的指针,即指针指向的对象的值不能改,用原创 2015-10-27 00:20:59 · 422 阅读 · 0 评论 -
c++11之lambda表达式
C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda的语法形式如下:[函数对象参数] (操作符重载函数参数) mutable或exception声明 >返回值类型 {函数体}可以看到,Lambda主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、mutable或exception声明、>返回值类型、{函数体}。下面分别进行介绍。转载 2015-10-30 00:37:49 · 336 阅读 · 0 评论 -
c++中运算符重载
C++中,+-*/之类的运算一般只能运用于基本数据类型之间,当然系统默认也有重载,否则字符串也就不能相连了。为了复合数据类型的运算方便,C++提供了运算符重载机制,可以进行类之间的运算。在这里,需要强调的是,运算符重载函数也是函数,也是相当于使用对象调用的,只是一般使用的时候隐藏了调用过程。例如Complex++; 相当于complex.operator++();。下面分步骤详细介绍常用运算符原创 2015-10-27 15:44:49 · 308 阅读 · 0 评论 -
c++引用的使用以及实质
c++引用的使用以及实质在c++中,引用可以看作一个已定义变量的别名,但是这个别名中存放的内存地址和变量名中的地址是一摸一样的。所以足以可见引用就是变量的别名。原创 2015-10-27 00:46:10 · 355 阅读 · 0 评论 -
浅拷贝与深拷贝
在C++中,如果不显示声明拷贝构造函数的话,C++编译器会提供一个默认拷贝构造函数,这里的默认拷贝构造函数形成的效果就是浅拷贝。 浅拷贝的意思即:如果是指针变量的话,只是将指针变量的内存地址复制给新对象中的指针变量,并未将指针指向的对象重新开辟内存空间,这样留下后患,形成野指针现象。 通过程序测试如下:Name(const char *myp) //构造函数 { m_原创 2015-10-27 13:18:52 · 284 阅读 · 0 评论 -
C++构造函数初始化列表与赋值
C++类中成员变量的初始化有两种方式: 构造函数初始化列表和构造函数体内赋值。下面看看两种方式有何不同。 成员变量初始化的顺序是按照在那种定义的顺序。1 内部数据类型(char,int……指针等)class Animal{public: Animal(int weight,int height): //A初始化列转载 2015-09-20 14:19:10 · 334 阅读 · 0 评论 -
c++中的时间戳
Java中有非常易用的时间戳,由于需要在项目中实现C++版本的时间戳,特此记录。#include #include #include int main() { std::clock_t start; double duration; long L=10000000000l; start = std::clock(); /* Your alg转载 2015-09-20 12:34:43 · 638 阅读 · 0 评论 -
c++ for_each
考虑下面的需求,对vector中的每个元素加1,如何做?1 void add(int& lhs) // 注意:要修改主调方法中的数据,这里要使用引用2 {3 lhs= lhs + 1;4 }5 int intArray[] = {1,2,3,4,5};6 vectorint> intVector(intArray,intArray+5); 1、最原始的做法:转载 2015-10-06 11:25:57 · 579 阅读 · 0 评论 -
C++ const用法
C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量 1 #include 2 using namespace std; 3 int main(){ 4 int a1=3; ///non-co转载 2015-10-07 19:16:14 · 241 阅读 · 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-07 17:46:42 · 302 阅读 · 0 评论 -
c-free配置c++11
1> 首先下载TDM-GCC-64。 网址为:http://sourceforge.net/projects/tdm-gcc/?source=typ_redirect2>打开c-free--构建--构建选项--点击构建配置的右上角,如图。3>点击新建配置--MinGW--名称自己起。 如图。4>点击编译--把下方原始参数改为: -std原创 2015-09-17 01:14:12 · 1522 阅读 · 0 评论 -
C++11中的std::function
先来看看下面这两行代码:std::functionvoid(EventKeyboard::KeyCode, Event*)> onKeyPressed;std::functionvoid(EventKeyboard::KeyCode, Event*)> onKeyReleased;这两行代码是从Cocos2d-x中摘出来的,重点是这两行代码的定义啊。std::function这是什转载 2015-09-26 23:57:10 · 363 阅读 · 0 评论 -
ndk-stack的使用
1.配置adb。查找sdk路径下platform-tools文件夹的adb.exe,并记录下此路径。如图:右击我的电脑-属性-高级系统设置-环境变量-Path 如图,在变量值后加英文下的分号后,在加adb的路径。在命令行方式下输入 adb logcat | D:\Android\android-ndk-r9d\ndk-转载 2015-08-25 15:58:41 · 475 阅读 · 0 评论 -
vs快捷键
Ctrl+J / Ctrl+K,L: 列出成员 alt + ->Ctrl+Shift+空格键 / Ctrl+K,P: 参数信息Ctrl+K,I: 快速信息Ctrl+E,C / Ctrl+K,C: 注释选定内容Ctrl+E,U / Ctrl+K,U: 取消选定注释内容Ctrl + F4 关闭窗口原创 2016-05-24 00:42:09 · 324 阅读 · 0 评论