반응형
아래와 같은 코드와 결과를 확인해 보자
string ip = "169.254.0.0";
ip::address addr;
addr.from_string(ip);
cout << addr.to_string() << endl;
addr = addr.from_string(ip);
cout << addr.to_string() << endl;
addr = ip::address_v4::from_string(ip);
cout << addr.to_string() << endl;
결과는 아래와 같다.
0.0.0.0
169.254.0.0
169.254.0.0
그냥 쉽게 생각하기에 addr.from_string(ip)하면 addr에 ip주소가 설정될 거 같은데 그렇지 않다.
이유는 우선 해당 함수의 정의가 다음과 같기 때문이다.
static address from_string(const char* str);
위에서 보듯 static 함수인 관계로 addr 객체에 주소를 설정하는 함수가 아니다. 그리고 함수 정의에서 보듯 address를 리턴하는 함수이다. 그러므로 address 객체의 ip를 string에서 부터 설정하기 위해서는 예제와 같이 from_string 함수의 리턴 값으로 설정해야 한다.
반응형
'개발 라이브러리 & 툴' 카테고리의 다른 글
C++ boost json 구조체와 json 문자열간 변환 예제 (5) | 2021.11.21 |
---|---|
[MongoDB] C/C++ BSON 한글 문자열 입출력 (0) | 2021.11.20 |
boost locale을 이용한 C++에서의 Multi Byte와 UTF8간의 문자열 변환 (0) | 2021.11.19 |
[MongoDB] Mongo C/C++ Driver 관련 자료 (0) | 2021.11.10 |
C++ boost json용 라이브러리(boost.json) (0) | 2021.10.15 |
C++ boost property_tree를 이용한 간단한 xml 파싱 예제 (0) | 2021.10.14 |
C++ boost json(property_tree) Hello World (0) | 2021.10.13 |
[MongoDB] 윈도우용 MongoDB C/C++ Driver 컴파일 및 인스톨 하기 (0) | 2021.10.07 |