C++中string的成员函数】的更多相关文章

string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1:string s2="hello":都是正确的写法.当构造的string太长而无法表达时会抛出length_error异常 string类的字符操作: const char &operator[](int n)const; const ch…
本篇是把一些string的成员函数的用法记录下来 size()函数和lenth()函数 s.size()或者s.lenth() 它们都会返回长度,是总长度而不是下标长度 find函数 s.find(s2) 它会返回s中s2第一次出现的地方,如果找不到会返回-1 也可以设置开头 s.find(s2,a)//a为整数且小于s.size() 它会从下标为a开始查找s2,如果找不到会返回-1 substr函数 这个函数是用来找子串的函数 s.substr(a,b) 它会返回从下标a开始的往后(包括下标a…
string常用成员函数 std::string::clear Clear string Erases the contents of the string, which becomes an empty string (with a length of 0 characters). Parameters none Return value none Example // string::clear #include <iostream> #include <string> int…
在C++的类中,普通成员函数不能作为pthread_create的线程函数,如果要作为pthread_create中的线程函数,必须是static ! 在C语言中,我们使用pthread_create创建线程,线程函数是一个全局函数,所以在C++中,创建线程时,也应该使用一个全局函数.static定义的类的成员函数就是一个全局函数. 更多 参考  http://blog.csdn.net/ksn13/article/details/40538083 #include <pthread.h> #…
string字符串成员函数 string str1="aaa"; char c='c'; str1.assign("ABCAAAAAAABBBBB");//替换str1 "; cout<<"长度"<<str1.length()<<endl;//获取字符串长度 //(长度==数量) cout<<"字符串数量"<<str1.size()<<endl;…
转载于 http://www.cnblogs.com/graphics/archive/2010/07/05/1771110.html  http://hi.baidu.com/sdkinger/item/dcad78e374707ff12b09a453 一. #include <iostream> #include <map> #include <string> using namespace std ; int main(void) { map<int, st…
说明:流输入运算符,在一定程度上为C++程序的开发提供了很多便利,我们可以避免C语言那种繁琐的输入格式,比如在输入一个数值时,还需指定其格式,而cin以及cout则不需要.但是cin也有一些缺陷,比如当输入字符串时,遇到空格便截止,举个例子,如下,我们在输入“12 23.5 aa bb cc dd”,希望打印出的是前两个数值以及后面一个字符串“aa bb cc dd”,但实际打印出来的只有前两个数字和“aa”. #include <iostream> using namespace std;…
在python有各种各样的string操作函数.在历史上string类在python中经历了一段轮回的历史.在最开始的时候,python有一个专门的string的module,要使用string的方法要先import,但后来由于众多的python使用者的建议,从python2.0开始, string方法改为用S.method()的形式调用,只要S是一个字符串对象就可以这样使用,而不用import.同时为了保持向后兼容,现在的 python中仍然保留了一个string的module,其中定义的方法…
const 修饰的成员函数  表示  不会修改class中的成员变量. const 和 非-const 的成员函数同事存在时, 用户定义 const 类对象,调用 const 成员函数: 定义 非-const 类对象,调用  非-const 成员函数. 加上 const 的理由: 比如 string 中的[]重载,const string和string应该对应不同的操作. #include <iostream> class NN { public: NN() = default; //int…
string可以说是是字符数组的升级版,使用更加啊方便,不容易出错.本文对string的常用函数进行简单介绍,做到会用即可. string中的常用函数分为四类,即赋值,添加,比较和删除. 一.赋值 1.str="adf" 2.str.assign("adf");str.assign(str1);//将括号中的字符串赋值给str: str.assign(str1,1,4);//将str1的1-4赋值给strs: str.assign(5,'a');//将五个a赋值给s…
代码: #include <iostream> using namespace std; class A{ public: void func1(){ cout<<"func1"<<endl; } void func1()const{ cout<<"const func1"<<endl; } void func2()const{ cout<<"const func2"<…
先看源码,在VS2010环境下无法编译通过,在VS2013环境下可以编译通过,并且可以运行,只是运行结果并不是我们期待的结果. 最初通过MyCircle类定义对象c1时,为对象分配内存空间,r没有初始化,其值为乱码,pi为3.1415926,area为乱码. [cin>>c1.r]这个语句为c1.r赋值,假设为10,然后执行[cout<<c1.area<<endl],我们来看,执行cout时是从内存空间中拿c1.area的值,这个值在定义对象时候已经确定是一个乱码值,此…
http://blog.csdn.net/gmstart/article/details/7046140 在C++的类定义里面,可以看到类似下面的定义: 01 class List { 02 private: 03      Node * p_head; 04      int length; 05      …… 06 Public: 07      int GetLength () const; 08      bool GetNodeInfo(const int index,Node &…
一般而言,对于一个用户自定义的类类型,以下四个函数在用户没有自定义的情形下,会由编译器自动生成: 1.default constructor 2.copy constructor Someclass::Someclass(const Someclass &); 3.copy assignment operator Someclass & Someclass::operator=(const Someclass &); 4.destructor 对于C++11,又增加了两个: 5.m…
原文:https://blog.csdn.net/zcyzsy/article/details/52146124 #include<iostream> using namespace std; class String { public: String(const char* str=NULL); //普通构造函数 Strng(const String &other); //拷贝构造函数 String & operator=(const String &other);…
String对象: 1.length属性 说明:获取字符串的长度 实例: var str="abc"; var i=str.length;//output:3 2.charAt()方法 说明:从字符串中找出一个指定索引(位置)的字符 实例: var str="abc"; var str1=str.charAt(2);//output:c //字符串索引从0开始 3.indexOf()方法 说明:得到子字符串在母字符串中第一次出现的位置(下标),如找不到则输出&quo…
在C++中存在一个特殊函数,他就是复制构造函数,假如我们有类A,如果有A a;A b=a;   在这种情况下利用A类变量a来给同是A类变量的b来赋值,这个时候类会使用复制构造函数,如果我们不显式声明复制构造函数,那么类将会调用默认的复制构造函数.下面的代码说明了这一情况,如果我们将类StringBad中的复制构造函数StringBad(StringBad &)去掉,那么count最后输出的结果会为复制(count为静态变量用来记录类StringBad的对象个数). main.cpp #inclu…
例如有如下x的字符串  String x = "[kllkklk\\kk\\kllkk]"; 要将里面的"kk"替换为++,可以使用两种方法得到相同的结果  replace(CharSequence target, CharSequence replacement) -- x.replace("kk", "++") replaceAll(String regex, String replacement) -- x.replac…
转载自:http://blog.csdn.net/hengyunabc/article/details/7198533 JDK6的源码: [java] view plaincopy /** * Returns a hash code for this string. The hash code for a * <code>String</code> object is computed as * <blockquote><pre> * s[0]*31^(n-…
利用prototype封住reverse方法: (求更简便的方法: String.prototype.reverse=function () { var str=""; for(var x=this.length-1;x>0;x--){ str+=this.charAt(x); } return str; }…
本文翻译自<effective modern C++>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 博客已经迁移到这里啦 如果你曾经同过久的编译时间斗争过,那么你肯定对Pimpl("point to implementation",指向实现)机制很熟悉了.这种技术让你把类的数据成员替换成指向一个实现类(或结构)的指针,把曾经放在主类中的数据成员放到实现类中去,然后通过指针间接地访问那些数据成员.举个例子,假设Widget看起来像这个样子: class Wid…
http://no001.blog.51cto.com/1142339/389840/ mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词. 在C++中,mutable也是为了突破const的限制而设置的.被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中. 我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的.但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,…
在C++中内联成员函数与非内联成员函数的可以分为两种情况: 1.如果成员函数的声明和定义是在一起的,那么无论有没有写inline这个成员函数都是内联的,如下: using namespace std; class test{ public: void fuc() { cout << "ok!" << endl; } }; int main(void) { test t, t1; t.fuc(); t1.fuc(); return 0; } 或者: using n…
线程函数为静态函数: 线程控制函数和是不是静态函数没关系,静态函数是在构造中分配的地址空间,只有在析构时才释放也就是全局的东西,不管线程是否运行,静态函数的地址是不变的,并不在线程堆栈中static只是起了一个装饰的作用,所以二者并没有必然的关系 线程也是一种资源,是受系统调度的.因此,你必须要让系统知道你的线程的起始位置,即线程函数的指针.Window系统的接口(API)是C标准的,系统在启动线程时,需要直接得到线程的起始位置,因此你也必须向系统直接传递这样一个直接的函数指针,这与C++其它的…
//a.cpp class A{ public: int fun(int x){ ); } }; void tt() { } //b.cpp class A{ public: int fun(int x); }; void tt(); int yy() { tt(); A a; ); } 将它们分别编译后再链接:显示链接错误,因为b.cpp(b.o)中找不到A::fun(int)的引用. 将以上的a.cpp改为如下所示:class A{ public: int fun(int x); }; in…
c++ 类的成员函数放在类的外面来实现的写法,探究一下. 原文: http://www.cnblogs.com/findumars/p/6143375.html ------------------------------------------------------------------------ 在上篇文章<inline的另一用处>中,提到函数实现在类定义中与类定义外的区别. 现在先看个实验: a.cpp: #ifndef TEST_H #define TEST_H class A{…
一.比较功能 String.Compare: 成员函数 返回值 功能 String.Compare 小于零.零.大于零. 1.比较两个字符串的大小(按照一定规则) 2.比较两个字符串中子字符串的大小. String.CompareOrdinal 成员函数 返回值 功能 String.CompareOrdinal 一个整数,指示两个比较字之间的词法关系 通过计算每个字符串中相应 Char 对象的数值来比较两个指定的 String 对象. String.Equals 成员函数 返回值 功能 Stri…
类的成员函数(简称类函数)是函数的一种,它的用法和作用和前面介绍过的函数基本上是一样的,它也有返回值和函数类型,它与一般函数的区别只是:它是属于一个类的成员,出现在类体中.它可以被指定为private(私有的).public (公用的)或protected(受保护的). 在使用类函数时,要注意调用它的权限(它能否被调用)以及它的作用域(函数能使用什么范围中的数据和函数).例如私有的成员函数只能被本类中的其它成员函数所调用,而不能被类外调用.成员函数可以访问本类中任何成员(包括私有的和公用的),可…
本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 博客已经迁移到这里啦 C++的官方说法中,特殊成员函数是C++愿意去主动生成的.C++98有4个这样的函数:默认构造函数,析构函数,拷贝构造函数,拷贝operator=.当然,这里有些细则.这些函数只在需要的时候产生,也就是,在类中如果一些代码没有清楚地声明它们就使用了它们.一个默认构造函数只有在类中没有声明任何构造函数的情况下才会被生成出来(当你的目的是要求这个类的构造函数必须提供参…
1 引子 标准C++中没有真正的面向对象的函数指针.这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它宝贵的价值.在Delphi (Object Pascal)中,面向对象的函数指针是Borland可视化组建库(VCL,Visual Component Library)的基础.而在目前,C#使“委托”的概念日趋流行,这也正显示出C#这种语言的成功.在很多应用程序中,“委托”简化了松耦合对象的设计模式[GoF].…