c++怎么给一个string赋值

 我来答
爱教育爱学习
高粉答主

2019-11-14 · 学而不思则罔,思而不学则殆
爱教育爱学习
采纳数:384 获赞数:112745

向TA提问 私信TA
展开全部

#include "stdafx.h"

#include

#include

#include"string" //操作字符串必须包含的头文件

using namespace std;

void main()

{

string s1 = "aaaaa";

string s2("bbbbb");

string s3 = s2; //通过拷贝构造函数,初始化s3

string s4(10, 'a');

string s5 = "hello"+"world";  //错误

cout << "s1:" << s1 << endl;

cout << "s2:" << s2 << endl;

cout << "s3:" << s3 << endl;

cout << "s4:" << s4 << endl;

return ;

}

扩展资料

C++右值引用和移动赋值函数:

编程语言中赋值表达式左边的值称为左值,右边的值称为右值。左值对应内存的一段命名空间,可以用取址运算符“&”取出内存地址。

此时的内存单元有或显式或隐式使用的地址值和实际值。右值则是显式利用的是内存单元的实际值,其临时存在于内存或寄存器中。使用“&&”运算符可以定义一个右值引用,将一个右值转变为一个左值,move()函数可以将一个左值转换为一个右值。

左值引用,使用T&,只能绑定左值(其中T是一个具体类型)。右值引用,使用T&&,只能绑定右值;常量左值,使用constT&,既可以绑定左值又可以绑定右值;已命名的右值引用,编译器会认为是个左值。

四舍五不入6
高粉答主

2019-11-11 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71373

向TA提问 私信TA
展开全部

C++中,string是一个类(注意,不是类型)。它的赋值,直接将字符串等于给它,或将同类的变量赋给它即可,可以参考以下的代码:

string LSStr,LSStrA; //定义

LSStr = 'aabbccdd'; //赋值

LSStrA = LSStr; //同类赋值


扩展资料:

 C++标准库中string类以类型的形式对字符串进行封装,且包含了字符序列的处理操作。

注意

String类是不可变(final)的,对String类的任何改变,都是返回一个新的String类对象。这样的话把String类的引用传递给一个方法,该方法对String的任何改变,对原引用指向的对象没有任何影响,这一点和基本数据类型相似,如下:

string s1,s2;

s1="abc";

s2=s1;

s2="def";

//这样操作之后s1是"abc",s2是"def".

参考资料来源:百度百科-string

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
59分粑粑分享生活
高粉答主

2020-03-03 · 专注生活好物分享,解答日常方方面面的问题
59分粑粑分享生活
采纳数:326 获赞数:119853

向TA提问 私信TA
展开全部

具体如下:

#include "stdafx.h"

#include

#include

#include"string" //操作字符串必须包含的头文件

using namespace std;

void main()

{

string s1 = "aaaaa";

string s2("bbbbb");

string s3 = s2; //通过拷贝构造函数,初始化s3

string s4(10, 'a');

string s5 = "hello"+"world";  //错误

cout << "s1:" << s1 << endl;

cout << "s2:" << s2 << endl;

cout << "s3:" << s3 << endl;

cout << "s4:" << s4 << endl;

return ;

}

扩展资料:

C++右值引用和移动赋值函数:

编程语言中,赋值表达式的左边的值称为左值,右边的值称为右值。 左值对应于内存中的一个名称空间,可以使用地址运算符“&”获取内存地址。

此时的存储单元具有显式或隐式使用的地址值和实际值。 右值是显式使用的存储单元的实际值,该值临时存在于存储器或寄存器中。 “ &&”运算符可用于定义右值引用,将右值转换为左值,而move()函数可将左值转换为右值。

使用T&的左值引用只能绑定左值(其中T是具体类型)。 使用T &&的右值引用只能绑定右值; 使用constT&的常量左值可以绑定左值和右值; 命名的右值引用,编译器会将其视为左值。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哎呀……18a91a6
推荐于2017-11-22 · TA获得超过4.2万个赞
知道大有可为答主
回答量:7246
采纳率:76%
帮助的人:3075万
展开全部

一、C++中,string是一个类(注意,不是类型)。它的赋值,直接将字符串等于给它,或将同类的变量赋给它即可。比如:

string LSStr,LSStrA; //定义
LSStr = 'aabbccdd'; //赋值
LSStrA = LSStr; //同类赋值


1、不同编译环境下的C++,对字符串的处理稍有差别。

2、最原始的C语言中,没有string,在C++里才有了string这个类。

3、注意,string是一个类,不是类型。类这个概念是C++才特有的,它的存在是为了模块化编程。类是一个相对复杂的东西,它就象一个单元,包含了自已内部的数据定义、函数等等。


二、值得注意的是,早期的C中,对字符串的处理是用字符数组来进行的,比如:

char s[30]; 
strcpy(s, "Good News!"); /*给数组赋字符串*/ .

或是,让编译器在定义时,自动的处理(实际上还是做了上面的两步):

char s[30] = "Good News!";

三、对于字符串的处理,C++中其实是一个相对不好理解的东西,因为这涉及到了C/C++语言的指针,也就是说,无论是什么方式,它的最根本的本质是用一个指针指向了存放字符串的地址。string这个“类”除了指针外,还扩展了常用的一些处理函数在里面,比如字符串截取之类的。


四、还有一种比较容易混的:

char *str = "Hello World!";

这说的是,定义一个char指针str,它指向字符串"Hello World!"存放的地址的第一个。


五、关于字符串的处理,细说起来,还是有一些东西需要你自个去理解的,再说一次,主要还是涉及了指针,所以不太好理解。但是这些是学C/C++必需要理解的东西。指针、类、字符串,可以说是C++里的难点,多练多思考吧。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2016-09-04 · 超过24用户采纳过TA的回答
知道答主
回答量:157
采纳率:0%
帮助的人:23.7万
展开全部

你是指这样?:

char *str = "Hello World!";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式