class M{
string s[5];
M(){
s = ["abc","abc","abc","abc","abc"]; // error, how i solve it?
}
};
배열을 개인 변수로 선언하고 값을 할당하고 싶습니다.배열을 선언하고 나중에 할당하는 방법은 무엇입니까?
class M{
string s[5];
M(){
s = ["abc","abc","abc","abc","abc"]; // error, how i solve it?
}
};
배열을 개인 변수로 선언하고 값을 할당하고 싶습니다.배열을 선언하고 나중에 할당하는 방법은 무엇입니까?
배열을 할당 할 수 없습니다. 또한 선언의 시점에서 멤버를 초기화 할 수 있습니다
M() : s{"abc","abc","abc","abc","abc"}
{
}
:하지만 당신은 생성자 초기화 목록을 사용할 수 있습니다
이class M{
string s[5]= {"abc","abc","abc","abc","abc"};
M(){}
};
이들 모두는 C++ 11 컴파일러를 필요로한다.
또는 원하는 값을 포함하도록 배열을 수정할 수 있습니다. 예를 들어,
#include <algorithm> // for std::fill
M()
{
std::fill(s, s+5, "abc");
}
는 vector
대신 사용
std::vector<string> s;
s = {"abc","abc","abc","abc","abc"};
'#include
을 당신이 MEM-초기화 목록을 사용할 수 있습니다. 예 :
class M
{
string s[5];
pyblic:
M() : s{ "abc", "abc", "abc", "abc", "abc" }
{
}
};
또는 대신 표준 클래스 std::array
을 사용할 수 있습니다. 예를 들어,
C++ 11을 지원하지 않는 vs2010을 사용한다면 어떻게해야합니까? – user2793559
@ user2793559 마지막 옵션이 정상적으로 작동합니다. – juanchopanza
배열의 요소가 서로 다른 경우 (예 : { "a", "b", "c", "d", "e"} C++ 11없이 간단한 방법으로이를 수행하는 방법 ? – user2793559