標準庫類型String

定義和初始化string對象

  初始化string對象方式

    string s1? ?默認初始化,s1是一個空串

    string s2(s1)? s2是s1的副本

    string s2 = s1? 等價于s2(s1), s2是s1的副本

    string s3("value")? s3是字面值"value"的副本,除了字面值最后的那個空字符外   //直接初始化

    string? s3 = "value"? 等價于s3("value"),s3 是字面值"value" 的副本        //拷貝初始化

    string s4(n,'c')? 把s4初始化為由連續n個字符c組成的串             //直接初始化

直接初始化和拷貝初始化? ?在上面的初始化方式中有說明  

?

string 對象上 操作

  

?String? 的empty和size操作

  empty判斷string對象是否為空,返回值為布爾值

  size函數返回string對象的長度

比較string對象

  運算符都依照大小寫敏感的字典順序來進行比較。

兩個string對象相加

  兩個string對象相加得到一個新的string對象。其內容是左側運算對象和右側運算對象串接而成,類似于: "hello" + "world" = "hello world";

字面值和string對象相加

  當把string對象和字符字面值及字符串字面值混在一條語句中使用時,必須要保證每個加法運算符的兩側的運算對象至少有一個是string

  string s5 = "hello" + ",? "? //錯誤,兩個對象都不是string,不能把字面值直接相加。

處理string對象中的字符

  

?使用基于范圍的for語句處理每個字符

  string str("some string");

  for(auto c:str )

    cout<<c<<endl;?  //將str字符串中的每個字符每行一個輸出出來。

使用范圍for語句改變字符串中的字符

string s("HELLO WORLD");
for (auto &c : s)       //注意這里的c前有& c = toupper(c); 

  這里的c是引用,賦值語句將改變s中的字符的值。

只處理一部分字符:

  下標運算符:s[i] 直接改

  下標執行迭代(就是在for循環中加控制條件,將要更改的字符提取出來更改就OK了) 

  使用下標執行隨機訪問

  

一個小練習:

      

?

 1 #include <iostream> 
 2 #include <string>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     string str("extraordinary");
 9 
10     for (auto &c : str)
11     {
12         c = 'x';
13     }
14     cout << str << endl;
15 
16     system("pause");
17     return 0;
18 }

?

 

?

轉載于:https://www.cnblogs.com/xingzhuan/p/10567194.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394674.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394674.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394674.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

輕量級數據庫中間件利器Sharding-JDBC深度解析(有彩蛋)

講師介紹張亮 當當架構部總監 負責分布式中間件和私有云平臺建設 目前主導開源項目&#xff1a;Elastic-Job及Sharding-JDBC 主題簡介&#xff1a; 1、關系型數據庫中間件核心功能介紹 2、Sharding-JDBC架構及內核解析 3、Sharding-JDBC未來展望 一、關系型數據庫中間件核心功…

python字典嵌套字典的情況下獲取某個key的value

最近在用python寫接口的測試程序&#xff0c;期間用到解析字典獲取某個key的value&#xff0c;由于多個接口返回的字典格式不是固定的并存在多層嵌套的情況。在字典的方法中也沒有找到可直接達到目的的方法(也可能是我對字典的方法了解的不深的緣故)&#xff0c;于是自己寫了個…

系統在此應用程序堆棧溢出_從部署我的第一個完整堆棧Web應用程序中學到的經驗教訓...

系統在此應用程序堆棧溢出by Will Abramson威爾艾布拉姆森(Will Abramson) 從部署我的第一個完整堆棧Web應用程序中學到的經驗教訓 (Lessons learned from deploying my first full-stack web application) I recently achieved one of my long-term goals: deploying my firs…

const 常量_條款03:盡可能使用const

const 允許你指定一個語義約束&#xff08;也就是指定一個“不該被改動”的對象&#xff09;&#xff0c;而編譯器會強制實施這項約束。1、const指針如果關鍵字const出現在星號左邊&#xff0c;表示被指物是常量&#xff1b;如果出現在星號右邊&#xff0c;表示指針自身是常量&…

javascript高級程序設計---js事件思維導圖

繪制思維軟件與平時用的筆記&#xff0c;以及導出功能&#xff0c;這三個問題綜合起來&#xff0c;于是我把思維導圖分開畫 1、js事件的基本概念 2、js事件的事件處理程序 3、js事件的事件對象 轉載于:https://www.cnblogs.com/Jamie1032797633/p/10567419.html

jq挑戰30天——打字機效果+小程序

<!doctype html><html><head><meta charset"utf-8"><title>基于jQuery實現的打字機效果-jq22.com</title><script src"http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style></…

和 Thrift 的一場美麗邂逅

一. 與 Thrift 的初識 也許大多數人接觸 Thrift 是從序列化開始的。每次搜索 “java序列化” “方式”、“對比” 或 “性能” 等關鍵字時&#xff0c;搜索引擎總是會返回一大堆有關各種序列化方式的使用方法或者性能對比的結果給你&#xff0c;而其中必定少不了 Thrift&#…

instagram技術_Instagram9位科技女孩進行技術采訪的主要技巧

instagram技術by Rachel通過瑞秋 Instagram9位科技女孩進行技術采訪的主要技巧 (Top tips for technical interviews from nine of Instagram’s tech girls) My job-hunt came to an end a few weeks ago. After endless phone interviews, coding challenges, and on-sites,…

彈出框 每次打開 滾動條置頂_微信置頂文字怎么弄?微信置頂一句話教程

今日支付寶紅包支付寶首頁搜索511501453馬上領取紅包(支付寶雙十二活動&#xff0c;瓜分15億紅包)(領取后一定要記得使用&#xff0c;不然會浪費的呦&#xff0c;更會影響第二天的領取&#xff01;)奶思靚機“ 一 個 有 用 的 公 眾 號 の ”嗨&#xff0c;最近很流行在微信上面…

Python學習_字符串格式化

#!/usr/bin/env python # -*- coding:utf-8 -*-# 百分號格式化 # %[(name)[flags][width].[precision]]typecode # name : 指定占位符的key # flags : - 空格 0 # width : 寬度 # precision : 小數點后保留的位數 # typecode : 必需,數據類型 # 字符串里面有%的時候, %%表示一…

python 3 面向過程編程

python 3 面向過程編程 核心是過程&#xff08;流水線式思維&#xff09;&#xff0c;過程即解決問題的步驟&#xff0c;面向過程的設計就像設計好一條工業流水線&#xff0c;是一種機械式的思維方式。 1、優點&#xff1a;程序結構清晰&#xff0c;可以把復雜的問題簡單化&…

在ionic/cordova中使用百度地圖插件

在ionic項目中&#xff0c;如果想實現定位功能&#xff0c;可以使用ng-cordova提供的cordova-plugin-geolocation。 但由于高墻的緣故&#xff0c;國內andorid環境下&#xff0c;此插件不起作用&#xff08;ios環境下可用&#xff09;。 國內比較好的是現實使用百度地圖提供的A…

django國際化與html語言,Django 國際化

Django 國際化Django 支持國際化&#xff0c;多語言。Django的國際化是默認開啟的&#xff0c;如果您不需要國際化支持&#xff0c;那么您可以在您的設置文件中設置 USE_I18N False&#xff0c;那么Django會進行一些優化&#xff0c;不加載國際化支持機制。NOTE: 18表示Intern…

mongo 刪除節點_將生產節點/ Express Mongo App部署到AWS —反思

mongo 刪除節點在AWS中部署生產Web應用程序的經驗教訓 (Lessons learned deploying a production web application in AWS) 背景 (Background) This is not a code-based tutorial. It consists of all the things I wish I knew before I started the project and the steps I…

漢諾塔問題遞歸算法python代碼_[python]漢諾塔問題遞歸實現

一、問題描述及算法步驟 漢諾塔問題的大意是有三根柱子a, b, c&#xff0c;現在a柱有N個盤子從下往上尺寸遞減排列&#xff0c;要求&#xff1a; 1. 將a上的盤子移動到c柱上; 2. 每次移動一個盤子; 3. 柱子上的盤子始終必須是大的在下面image.png 漢諾塔問題的經典實現算法步驟…

【硬件】PCB設計步驟

前言 合理的PCB設計步驟&#xff0c;可以減少反復修改的可能性。動手設計PCB前&#xff0c;需要按步就班準備一些資料&#xff0c;即使是小項目。 本文將講解如何一次性成功地設計一款PCB的常規步驟。 當然&#xff0c;如果是一個系統&#xff0c;則需要按照瀑布式的思路&#…

linux install StarDict

1.  sudo apt-get install stardict 2.  Downloads from: http://abloz.com/huzheng/stardict-dic/zh_CN/ 3.  tar jxf stardict-21shijishuangxiangcidian-2.4.2.tar.bz2 -C /usr/share/stardict/dic (etc other dictionaries)轉載于:https://www.cnblogs.com/HurryXin/…

交付方式 saas_我在全職工作時如何交付我的第一個SaaS副項目

交付方式 saasby Tigran Hakobyan由Tigran Hakobyan 我在全職工作時如何交付我的第一個SaaS副項目 (How I shipped my first SaaS side-project while working full-time) This is my personal story of how I shipped my very first SaaS side-project while working full-ti…

nginx搭建基于http協議的視頻點播服務器

1&#xff0c;于由自己的服務器上已經安裝好nginx(具體安裝方法見我的另一篇文章&#xff0c;Linux中安裝nginx)&#xff0c;所以不再安裝。 2&#xff0c;下載nginx_mod_h264_streaming-2.2.7.tar.gz(自己在網上搜吧)。 3&#xff0c;安裝pcre&#xff0c;先看有沒有安裝。 [r…

plsql 批量調存儲過程_數控雙端開榫機:批量銑榫頭真牛氣

數控雙端開榫機主要用于實木家具批量化銑榫頭專用&#xff0c;因為其本身的優勢逐漸被家具廠老板們所接受&#xff0c;是目前家具生產不可缺少的一款自動化設備&#xff0c;給企業節約了生產成本&#xff0c;今天又焦峰小編來給大家講解一下。主要技術參數&#xff1a;知乎視頻…