string型に+演算子を用いたら文字は追加できませんでした。
そして、関数に引数を渡すときにはstring + 文字列で渡したところ
関数側で末尾に渡した文字列を追加したデータを表示することが出来ました。
引数として渡すときstring + 文字列が有効なのはなぜでしょうか?
// string型テスト.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
#include<string>
using namespace std;
//string型の引数を受け取り末尾に単語を追加する
void GetStr(string str3){
printf("str3 = %s\n",str3.c_str());
}
int _tmain(int argc, _TCHAR* argv[])
{
string str = "test";
string str2 = "test";
str += "test";
printf("str = %s %d\n",str.c_str(),str.length());
//string型 + char文字演算子で末尾に文字を追加しようとしたが末尾には追加されない
str2 + "U";
printf("str2 = %s\n",str2.c_str());
//同じ用にstring型 + char文字を渡すGetStr関数で表示すると末尾に文字が追加されている
GetStr(str2 + "R");
return 0;
}
/*
str = testtest 8
str2 = test
str3 = testR
続行するには何かキーを押してください . . .
*/