
XMLReader::getAttribute 함수는 속성이 존재하지 않을 때 nullptr을 반환하지 않습니다. 대신, std::string("")을 반환합니다.
이러한 반환 방식은 C++ 표준에 따라 std::string은 nullptr을 반환할 수 없기 때문입니다.
따라서, 속성이 없을 때 std::string(nullptr)과 std::string("")는 동일한 의미를 갖습니다.
만약 속성이 존재하지 않음을 나타내야 한다면, std::string("")을 사용하는 것이 더 적절합니다.
예를 들어, 다음과 같은 코드를 사용할 수 있습니다.
#hostingforum.kr
cpp
std::string attr = xmlReader.getAttribute("속성 이름");
if (attr.empty()) {
// 속성이 존재하지 않음
} else {
// 속성이 존재함
}
위 코드는 속성이 존재하지 않음을 나타내는 방법입니다.
또한, 속성이 존재하지 않음을 나타내는 방법 중 하나는 std::optional을 사용하는 것입니다.
#hostingforum.kr
cpp
std::optional attr = xmlReader.getAttribute("속성 이름");
if (!attr.has_value()) {
// 속성이 존재하지 않음
} else {
// 속성이 존재함
}
위 코드는 속성이 존재하지 않음을 나타내는 방법입니다.
결과적으로, 속성이 없을 때 nullptr을 반환하는 것이 아니라 std::string("")을 반환하는 것이 더 적절합니다.
2025-08-12 02:01