CPP
173300598
热爱互联网
展开
-
Cpp 运算符重载
什么是运算符的重载? 运算符与类结合,产生新的含义。 为什么要引入运算符重载? 作用:为了实现类的多态性(多态是指一个函数名有多种含义)怎么实现运算符的重载?方式:类的成员函数 或 友元函数(类外的普通函数)规则:不能重载的运算符有 . 和 .* 和 ?: 和 :: 和 sizeof友元函数和成员函数的使用转载 2015-03-15 19:08:38 · 968 阅读 · 0 评论 -
C++中三种正则表达式比较(C regex,C ++regex,boost regex)
工作需要用到C++中的正则表达式,所以就研究了以上三种正则。1,C regex/* write by xingming * time:2012年10月19日15:51:53 * for: test regex * */#include #include #include #include #include #include using n转载 2016-12-14 22:54:28 · 312 阅读 · 0 评论 -
C++ - string类型转换int类型
string类型转换int类型本文地址: http://blog.csdn.net/caroline_wendyC语言转换形式:[plain] view plain copy print?... std::string str; int i = atoi(str.c_str()); .转载 2016-11-22 00:21:11 · 532 阅读 · 0 评论 -
C++中int型与string型互相转换
今天遇到int转string绊了半天,方法很多,不知道为什么搞那么复杂,我只挑最简单易懂的,管他效率不效率的。int转stringint n = 0;std::stringstream ss;std::string str;ssss>>str;string转intstd::string str = "123";int n = atoi(str.c_str()转载 2016-11-22 00:22:57 · 370 阅读 · 0 评论 -
数组指针和指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;转载 2016-12-05 23:09:29 · 191 阅读 · 0 评论 -
C++正则表达式的使用
C++里面使用正则表达式一般有三种:C regex,C ++regex,boost regexC regex 的速度是最快的 C++ regex 速度一般 boost regex 速度最慢,但是用起来最方便速度上大约是这么个情况:V(C)=5V(C++)=10(Boost) [声明:以上速度是个人测试,仅供参考]下面看用法:C++版本://转载 2016-12-06 17:00:25 · 260 阅读 · 0 评论 -
C++11标准 STL正则表达式 验证电子邮件地址
我们最经常遇到的验证,就是电子邮件地址验证。网站上常见。各种网页脚本也都常用“正则表达式”(regular expression)对我们输入的电子邮件地址进行验证,判断是否合法。有的还能分解出用户名和域名。现在用C++语言实现一下电子邮件地址验证程序,用的是C++ 11标准新增加的STL正则表达式。 源代码如下,该代码已在Visual Studio 2010上验证通过。g++ 4.6转载 2016-12-06 17:01:08 · 962 阅读 · 0 评论 -
C++ - 正则表达式(regex) 替换(replace) 的 详解 及 代码
正则表达式(regex) 替换(replace) 的 详解 及 代码本文地址: http://blog.csdn.NET/caroline_wendy/article/details/17321639正则表达式, 可以替换(replace)匹配的字符串, 使用regex_replace()函数, 需要指定替换的格式;也可以提供参数, 进行特定的输出,转载 2016-12-06 17:50:14 · 4906 阅读 · 0 评论 -
regex_replace使用方法 替换文本
仔细阅读main 函数皆可以找到精髓,与PHP的替换函数思路不相同。regex_replace #include template basic_string regex_replace (const basic_string& s, const basic_regex& e,转载 2016-12-06 18:34:29 · 6646 阅读 · 0 评论 -
C++ Set常用用法
set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。构造set集合主要转载 2016-11-25 10:08:45 · 317 阅读 · 0 评论 -
C++使用libcurl做HttpClient
http://blog.csdn.net/huyiyang2010/article/details/7664201 当使用C++做HTTP客户端时,目前通用的做法就是使用libcurl。其官方网站的地址是http://curl.haxx.se/,该网站主要提供了Curl和libcurl。Curl是命令行工具,用于完成FTP, FTPS, HTTP, HTTPS, GOPHER, TELNE转载 2016-12-07 23:53:55 · 397 阅读 · 0 评论 -
C++中的explicit关键字
http://blog.csdn.net/chollima/article/details/3486230在C++程序中很少有人去使用explicit关键字,不可否认,在平时的实践中确实很少能用的上。再说C++的功能强大,往往一个问题可以利用好几种C++特性去解决。但稍微留心一下就会发现现有的MFC库或者C++标准库中的相关类声明中explicit出现的频率是很高的。了解explici转载 2017-01-04 23:42:38 · 249 阅读 · 0 评论 -
C++中的export关键字解释
今天,一同学问偶export的使用,偶突然发现自己也不知道该关键字的使用方法~于是,在网上找了好久才知道该关键字的作用是实现模板函数的外部调用,类似于正常函数的extern关键字,以下是一个比较容易理解的解释,于是贴出来~!关键字:C++ export为了访问其他编译单元(如另一代码文件)中的变量或对象,对普通类型(包括基本数据类、结构和类),可以利用关键字extern,来使用这些变量转载 2017-01-04 23:48:53 · 4680 阅读 · 0 评论 -
C++ typeid关键字详解
http://blog.csdn.net/gatiemetypeid关键字注意:typeid是操作符,不是函数。这点与sizeof类似)运行时获知变量类型名称,可以使用 typeid(变量).name()需要注意不是所有编译器都输出”int”、”float”等之类的名称,对于这类的编译器可以这样使用int ia = 3;if(typeid(ia) == typei转载 2017-01-04 23:56:31 · 230 阅读 · 0 评论 -
C++标准转换运算符const_cast
http://www.cnblogs.com/ider/archive/2011/07/22/cpp_cast_operator_part2.html前面讲了C++继承并扩展C语言的传统类型转换方式,最后留下了一些关于指针和引用上的转换问题,没有做详细地讲述。C++相比于C是一门面向对象的语言,面向对象最大的特点之一就是具有“多态性(Polymorphism)”。要想很好的使用多态性,转载 2017-01-07 18:33:18 · 167 阅读 · 0 评论 -
C++ 关键字
下表列出了 C++ 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。asmelsenewthisautoenumoperatorthrowboolexplicitprivatetruebreakexportprotected转载 2017-01-07 22:33:33 · 235 阅读 · 0 评论 -
C++ 数据类型所占的长度和位数
下表显示了各种变量类型在内存中存储值时需要占用的内存,以及该类型的变量所能存储的最大值和最小值。类型位范围char1 个字节-128 到 127 或者 0 到 255unsigned char1 个字节0 到 255signed char1 个字节-128 到 127转载 2017-01-07 22:36:58 · 4846 阅读 · 0 评论 -
CPP头文件 库
该接口的C + +标准库定义头文件的集合.原文:The interface of C++ standard library is defined by the following collection of header files.这段文字是通过 Google Translate 自动翻译生成的。您可以帮助我们检查、纠正翻译中的错误。详情请点击转载 2016-11-30 17:50:43 · 658 阅读 · 0 评论 -
C++11 lambda
「C++11」Lambda 表达式 维基百科上面对于 lambda 的引入是如下描述的:在标准 C++,特别是当使用 C++ 标准程序库算法函数诸如 sort 和 find。用户经常希望能够在算法函数调用的附近定义一个临时的述部函数(又称谓词函数,predicate function)。由于语言本身允许在函数内部定义类型,可以考虑使用函数对象,然而这通常既麻烦又冗赘,也转载 2016-11-06 11:29:15 · 555 阅读 · 0 评论 -
c++中“箭头(->)”和“点号(.)”操作符的区别
首先介绍一下C++中的结构。对于一个结构:[cpp] view plaincopystruct MyStruct { int member_a; }; 如果有个变量MyStruct s,那么使用其中的成员元素时可以用:[cpp] view plaincopy转载 2015-03-15 15:28:21 · 374 阅读 · 0 评论 -
vector容器用法详解
vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组。像数组一样,vector类也用从0开始的下标表示元素的位置;但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化。 vector类常用的函数如下所示: 1.构造函数vector():创建一个空vectorvector(int转载 2015-03-15 18:16:50 · 314 阅读 · 0 评论 -
dynamic_cast
用法:dynamic_cast (expression)该运算符把expression转换成type-id类型的对象。Type-id 必须是类的指针、类的引用或者void*;如果 type-id 是类指针类型,那么expression也必须是一个指针,如果 type-id 是一个引用,那么 expression 也必须是一个引用。dynamic_cast运算符转载 2015-03-08 13:20:10 · 316 阅读 · 0 评论 -
C++ 中dynamic_cast<>的使用方法
/*这是从网上摘下的例子,主要讲述了 dynamic_cast/* 作用:将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理, 即会作一定的判断。 对指针进行dynamic_cast,失败返回null,成功返回正常cast后的对象指针; 对引用进行dynamic_c转载 2015-03-08 13:16:15 · 334 阅读 · 0 评论 -
C++中的vector使用范例
1.vector 的数据的存入和输出:#include#include#include using namespace std;void main(){ int i = 0; vector v; for( i = 0; i { v.push_back( i );//把元素一转载 2015-03-29 23:40:19 · 382 阅读 · 0 评论 -
vector是一个十分有用的容器
1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout(5)使用迭代器访问元素.vectorint>::iterator it;for(it=vec.begin();it!=vec.end();it++) cout转载 2015-03-29 23:40:32 · 674 阅读 · 0 评论 -
VS2010点滴——C++的Lambda表达式
C++的Lambda表达式在WIN RT的异步编程中,占有非常重要的作用。但C++的Lambda表达式又不同于其他语言,比如C#,javascript。本篇旨在讨论C++ Lambda表达式的基本语法和概念,希望大家多多指正。 首先,我们看一下Lambda表达式的基本构成 1. 是捕获值列表,2.是传入参数列表,3.可修改标示符,4.错误抛出标示符,5.函数返回值转载 2015-03-18 20:48:48 · 451 阅读 · 0 评论 -
cpp四种类型转换
http://www.douban.com/group/topic/15640965/static_cast 用法:static_cast ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: ①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转载 2015-04-11 09:36:14 · 674 阅读 · 0 评论 -
const修饰符总结
http://blog.csdn.net/left_la/article/details/74411591、什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:) 2、为什么引入const?const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。 3、cons有什么主要的作转载 2015-04-27 17:32:33 · 1141 阅读 · 0 评论 -
C++11 lambda 表达式解析
http://www.cnblogs.com/haippy/archive/2013/05/31/3111560.htmlC++11 新增了很多特性,lambda 表达式是其中之一,如果你想了解的 C++11 完整特性,建议去这里,这里,这里,还有这里看看。本文作为 5 月的最后一篇博客,将介绍 C++11 的 lambda 表达式。很多语言都提供了 lambda 表达式,如 Pyth转载 2016-04-03 17:24:34 · 264 阅读 · 0 评论 -
c++中的强制转换static_cast、dynamic_cast、reinterpret_cast的不同用法
C 风格(C-style)强制转型如下:(T) exdivssion // cast exdivssion to be of type T函数风格(Function-style)强制转型使用这样的语法:T(exdivssion) // cast exdivssion to be of type T 这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种形式转载 2016-03-27 00:08:59 · 491 阅读 · 0 评论 -
VS2010用命令行编译C++工程
1.配置好VS 的环境变量2.找出文件存放的位置例如 C:/Test/T.cpp 输入cl hello.cpp即可正常编译注意文件的位置定位 可以用DOS 提供的CD 指令进入T.cpp的存放路径记得选择 Visual Studio tools ->VS2012 x86 本机命令提示工具其次生成的 exe文件会闪退,正常现场。如果我们需要提示文件,那么就必须在main 函原创 2015-02-19 21:55:49 · 901 阅读 · 0 评论 -
C++中的extern声明变量详解
http://www.jb51.net/article/62350.htmextern声明变量无外乎如下两种:1、声明全局变量2、声明函数今天我们只谈extern,什么const、static之类等等与之相关或不相关的一律忽略,下面就分别对以上两种情况一一讲解声明和定义既然提到extern声明变量,那我们就必须搞清楚声明和定义的区别。这里我们将普转载 2016-06-15 11:49:55 · 637 阅读 · 0 评论 -
C++文件操作:打开文件和写入文件
http://www.weixueyuan.net/view/5825.html如果程序的运行结果仅仅显示在屏幕上,当要再次查看结果时,必须将程序重新运行一遍;而且,这个结果也不能被保留。如果希望程序的运行结果能够永久保留下来,供随时查阅或取用,则需要将其保存在文件中。文件分类外部文件和内部文件外部文件:指磁盘文件,也是通常所谓的文件。内部文件:指在程序中运转载 2016-07-04 11:22:04 · 691 阅读 · 0 评论 -
C++用new创建对象和不用new创建对象的区别解析
http://www.jb51.net/article/40017.htm在C++用new创建对象和不用new创建对象是有区别的,不知你是否清楚的了解它们到底有什么样的区别呢?下面小编就用示例来告诉大家吧,需要的朋友可以过来参考下我们都知道C++中有三种创建对象的方法,如下:复制代码代码如下:#include using namespace st转载 2016-07-05 09:35:18 · 299 阅读 · 0 评论 -
CPP MFC
学完了MFC和Windows API.才学着做一些小的游戏项目扫雷,俄罗斯方块,五子棋等.如果要做3D游戏开发即DirectX开发或OpenGL开发.还需要比较好的空间逻辑思维和相当扎实的高等数学功底MFC多线程的创建1.MFC多线程简介MFC对多线程进行了一层简单的封装,在Visual C++中每个线程都是从CWinThread类继承而转载 2016-09-02 14:56:48 · 904 阅读 · 0 评论 -
c++ list, vector, map, set 区别与用法比较
List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速度慢得多,因为可能要遍历整个链表才能做到,但是对于插入就快的多了,不需要拷贝和移动数据,只需要转载 2017-04-10 15:28:38 · 1644 阅读 · 0 评论