나는 올바르게 이해하고 싶습니다. 의 C++ 표준 : : 문자열의 세 가지 경우 아래의 기능이 생성됩니다 :std :: string의 유효 기간이 인수로 전달되었습니다.
- 한 호출자의 (S1)에 대한() 나는 호출자의 S2 매개 변수에 대한 할당 생성자
- 하나를이라고 믿는 것을 통해()를 통해 기능이 복사 생성자를 통해 S3에 대한 복사 생성자
- 하나
내가 수정 있습니까? 그렇다면 3 가지 경우 모두 범위를 벗어나면 정리됩니다. 나는 정말로 이것이 좋은 코드인지 아닌지를 묻지 않고있다. 이해가 정확하다. 그들이이 될 것으로 보인다
void caller(void) {
std::string s1 = "hi";
callee(s1);
}
void callee(std::string s2) {
std::string s3 = s2;
}
내가 아는 한 "할당 생성자"와 같은 것은 없습니다. 한 유형에서 다른 유형으로 변환하는 "변환 생성자"가 있습니다. –