1. string类的构造函数

1.1 default:string();

  • 原型: string();
  • 说明:默认构造函数,构造一个空字符串。
  • 代码示例:

    #include <iostream>
    #include <string>using namespace std;
    int main()
    {string s1;cout<<"string();"<<endl;cout<<"构造出来的字符串s1:"<<s1<<endl;cout<<"构造出来的字符串长度s1.size():"<<s1.size()<<endl;system("pause");
    }
    =>string();构造出来的字符串s1:构造出来的字符串长度s1.size():0

    1.2 copy:string(const string& str);

  • 原型: string(const string& str);
  • 说明: 拷贝构造函数,构建一个复制的结构。
  • 代码示例:

    #include <iostream>
    #include <string>using namespace std;
    int main()
    {string s0 = "abcdefghijklmnopqrstuvwxyz";string s2(s0);cout<<"string(const string& str);"<<endl;cout<<"构造出来的字符串s2:"<<s2<<endl;cout<<"构造出来的字符串长度s2.size():"<<s2.size()<<endl;system("pause");
    }
    =>string(const string& str);构造出来的字符串s2:abcdefghijklmnopqrstuvwxyz构造出来的字符串长度s2.size():26

    1.3 substring:string(const string& str, size_t pos, size_t len = npos);
    原型: string(const string& str, size_t pos, size_t len = npos);
    说明:构造子字符串的函数,从string型字符串str中下标为pos处开始拷贝len个字符。
    代码示例:

    #include <iostream>
    #include <string>using namespace std;
    int main()
    {string s0 = "abcdefghijklmnopqrstuvwxyz";string s3(s0, 11, 6);cout<<"string(const string& str, size_t pos, size_t len = npos);"<<endl;cout<<"构造出来的字符串s3:"<<s3<<endl;cout<<"构造出来的字符串长度s3.size():"<<s3.size()<<endl;system("pause");
    }
    =>string(const string& str, size_t pos, size_t len = npos);构造出来的字符串s3:lmnopq构造出来的字符串长度s3.size():6
    

    1.4 from c-string:string(const char* s);

  • 原型:string(const char* s);
  • 说明:用char型字符串s构造,拷贝以空终止符结束的字符序列。
  • 代码示例:

    #include <iostream>
    #include <string>using namespace std;
    int main()
    {string s4("abcdefghijklmnopqrstuvwxyz");cout<<"string(const char* s);"<<endl;cout<<"构造出来的字符串s4:"<<s4<<endl;cout<<"构造出来的字符串长度s4.size():"<<s4.size()<<endl;system("pause");return 0;
    }
    =>string(const char* s);构造出来的字符串s4:abcdefghijklmnopqrstuvwxyz构造出来的字符串长度s4.size():26
    

    1.5 from buffer:string(const char* s, size_t n);

  • 原型:string(const char* s, size_t n);
  • 说明:从char型字符串s的起始位置开始拷贝n个字符。
  • 代码示例:

    #include <iostream>#include <string>using namespace std;
    int main()
    {string s5("abcdefghijklmnopqrstuvwxyz", 6);cout<<"string(const char* s, size_t n);"<<endl;cout<<"构造出来的字符串s5:"<<s5<<endl;cout<<"构造出来的字符串长度s5.size():"<<s5.size()<<endl;system("pause");return 0;
    }
    =>string(const char* s, size_t n);构造出来的字符串s5:abcdef构造出来的字符串长度s5.size():6

    1.6 fill:string(size_t n, char c);

  • 原型:string(size_t n, char c);
  • 说明:用n个字符c构造字符串。
  • 代码示例:

    #include <iostream>#include <string>using namespace std;
    int main()
    {string s0 = "abcdefghijklmnopqrstuvwxyz";string s6a(6, 'a');string s6b(6, 97);cout<<"string(size_t n, char c);"<<endl;cout<<"构造出来的字符串s6a:"<<s6a<<endl;cout<<"构造出来的字符串长度s6a:"<<s6a.size()<<endl;cout<<"构造出来的字符串s6b:"<<s6b<<endl;cout<<"构造出来的字符串长度s6b:"<<s6b.size()<<endl;system("pause");return 0;
    }
    =>string(size_t n, char c);构造出来的字符串s6a:aaaaaa构造出来的字符串长度s6a:6构造出来的字符串s6b:aaaaaa构造出来的字符串长度s6b:6

    1.7 range:template < class InputIterator>string(InputIterator first, InputIterator last);
    原型:template < class InputIterator>string(InputIterator first, InputIterator last);
    说明: Copies the sequence of characters in the range [first,last), in the same order.
    代码示例:

    #include <iostream>#include <string>using namespace std;
    int main()
    {string s0 = "abcdefghijklmnopqrstuvwxyz";string s7(s0.begin(), s0.begin()+6);cout<<"template <class InputIterator> string(InputIterator first, InputIterator last);"<<endl;cout<<"构造出来的字符串s7:"<<s7<<endl;cout<<"构造出来的字符串长度s7:"<<s7.size()<<endl;system("pause");return 0;
    }
    =>template <class InputIterator> string(InputIterator first, InputIterator last);构造出来的字符串s7:abcdef构造出来的字符串长度s7:6

C++基础---string类的构造函数相关推荐

  1. string类的构造函数,拷贝构造函数,析构函数和赋值函数

    String 类的原型如下 class String { public: String(const char *str=NULL); //构造函数 String(const String &o ...

  2. Java基础——String类(二)

    今天做了几道String常见操作.先来几个代码实例: 例一:此方法,仅把字符串前后出现的空格去掉了,中间部分不会. 1 class TestTrim { 2 public static void ma ...

  3. Java基础——String类(一)

    一.String 类代表字符串 Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串 ...

  4. IOS前奏之Object-C基础:类的构造函数和description(自描函数)

    (一)新建一个类Student, 1.2.选择cocoa Touch -->OCclass-->next....... 1.3.以上步骤创建完车后会自动产生2个文件,在oc中一个类的组成分 ...

  5. 网易游戏笔试题:编写string类的构造函数、拷贝构造函数、赋值构造函数和析构函数

    题目: class MyString { public: MyString(const char *str);//构造函数 MyString(const MyString& strClass) ...

  6. Java基础String类-字符串反转

    定义一个方法,实现字符串反转 键盘录入一个字符串,调用该方法后,在控制台输出结果 例如,键盘录入abc,输出结果cba 示例代码: public class HomeworkTest03 {publi ...

  7. JAVA基础--String类

    一.字符串的几种构造方式 二.字符串的常量池 三.字符串比较函数 俩个字符串比较函数 1.public boolean eauals (Object obj); 注意:尽量在比较时,以常量调用方法,& ...

  8. Java基础--String类底层实现原理及API示例详解

  9. Java基础18-String类【String类的特点对象个数常用方法】【超详细讲解】

    Java基础-String类[超详细讲解] String类的特点 String在java.lang.String包中 1:特点 (1)String类型不能被继承,因为由final修饰 (2)Strin ...

最新文章

  1. 对于牛老师作业陈老师作业补充(老陈、小石头的典型用户、用例图、场景)...
  2. python requests编码的问题_python requests 编码问题
  3. C++|Qt工作笔记-对explicit的认识(Qt中一般情况下为什么会自动加上这个关键字)
  4. Nginx+Redis 搭建高性能缓存利器
  5. 问题:使用pandas中的DataFrame写入csv文件多出一行unnamed,如何解决呢??
  6. Python源码深度解析—Python提供的C API
  7. JavaScript 事件-事件流,事件冒泡,事件捕获,事件绑定与解绑,事件委托、阻止冒泡、阻止默认行为详细篇
  8. Android Bmob之用户更改头像(上传图片、下载图片和更新图片)
  9. java计算机毕业设计中学教务管理系统源码+mysql数据库+系统+部署+lw文档
  10. VIN码识别,车架号识别,移动端VIN码识别独家支持云识别
  11. hdu1429推箱子
  12. 申论(写作篇)之花木体申论写作法
  13. android 渠道排名,安卓APP渠道效果统计***排名
  14. vue引入svg图片
  15. 微信小程序个人和企业有什么不一样(个人和企业小程序的区别)
  16. Python-从PDF中提取图片、压缩PDF
  17. 如何使用AMR M分析rtp流中的amr语音
  18. LETO纯相位空间光调制器
  19. java mapper xml if_bug篇——Mybatis中Mapper.xml文件的if判断问题
  20. 保险碰到区块链,会有什么动静?

热门文章

  1. 用u-view写的uni-app常用的表单形式精品分析
  2. 磁盘相关概念以及知识
  3. Mac系列软件“五兄弟”新活动 CleanMyMac联合优惠只要50!
  4. Frappe安装问题
  5. 直线模组和直线电机的区别
  6. 不花一分钱,七个小招式简单搞定新车异味
  7. 推特、微博对手Threads软件的下载、注册、使用最新超详细教程
  8. vhost-user 简介
  9. 谨以此首篇Blog祝亲爱的老婆生日快乐!
  10. javac和javap的使用