C++
SilentOB
keep moving!
展开
-
C++ BUG
error1:int len = points.size();bitset<len> bs(7);报告:the value of 'len' is not usable in a constant expression解决:bitset模板参数必须声明为const,这样在编译的时候才能实例化该模板。bitset没有提供修改其大小和添加删除元素的接口,故不能进行修改。...原创 2017-06-15 11:26:12 · 2697 阅读 · 0 评论 -
C++重载、重写、重定义区别
一 重载(overload)概念:函数有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数之间,互相称之为重载函数。基本条件:函数名必须相同;函数参数必须不相同,可以是参数类型或者参数个数不同;函数返回值可以相同,也可以不相同;注意:只能通过不同的参数样式进行重载,例如:不同的参数类型,不同的参数个数,不同原创 2017-06-22 10:01:26 · 538 阅读 · 0 评论 -
关于swap的两种实现的说明
最近发现大量博客上面关于交换函数的实现,基本上都给出了两种方式,一种是C++函数库已经实现的。另一种用异或实现。1,最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符。void swap(int &a, int &b) { int temp ; temp =a; a = b;原创 2017-06-22 17:22:52 · 697 阅读 · 0 评论 -
关于谓词函数predicates的介绍
谓词函数是一个判断式,一个返回bool值的函数或者仿函数。几元就是函数有几个参数,至于定义和使用,函数定义和一般的函数定义一样,仿函数就是写个类,然后重载operator()。使用就是在那些以这种需要返回bool值的函数作参数的函数里用了。一元谓词函数举例如下:1,判断给出的string对象的长度是否小于6bool GT6(const string &s){原创 2017-06-13 16:19:55 · 1187 阅读 · 0 评论 -
const char * 、char const *、 char * const 三者的区别
C/C++ 中关于以下三种定义:const char *ptr;char const *ptr;char * const ptr;整理三者之间的区别与联系。一、const char *ptr; 定义一个指向字符常量的指针,这里,ptr是一个指向 char* 类型的常量,所以不能用ptr来修改所指向的内容,换句话说,*ptr的值为const,不能修改。但是ptr...原创 2017-08-09 15:58:28 · 228672 阅读 · 9 评论