Vector(2)
-
[effective STL] 항목 16 : 기존 C API에 vector와 string 넘기기
Sourcehttps://github.com/ElementalKiss/Cpp/blob/master/Example/VectorAndStringUsingCAPI.cpp 서론기존에 잘 구현되어 있는 C API를 사용하는데 vector와 string을 쓰는데 뭔가 깨림찍한게 있다. vector - &vec[0]을 통해 포인터를 넘긴다.string - str.c_str() 함수를 통해 문자열 포인터를 넘긴다. begin?begin()은 엄연히 반복자를 반환하므로 헷갈리면 안된다. 굳이 사용하겠다면 &*vec.begin() 형태로....(이건 좀 아닌듯) string은 왜 함수를 사용하는가?- string의 데이터 자체가 연속 메모리에 저장되도록 규정되어 있지 않다.(아닐수도 있다는 이야기)- string의 내부 ..
2015.12.26 -
[STL] vector의 at()과 []의 차이
서론같은 역할을 하는데 왜 이렇게 STL에선 두 가지를 지원하는 것일까! 내부를 보자!그러하다.. 내부를 뜯어보니 답이 나왔다. at은 size()를 체크함으로써 속도가 느리긴하지만 안정성이 높고 디버깅에 용이하다.하지만 오퍼레이터[]는 속도는 빠르나 치명적인 에러를 발생시킬 수 있다.
2015.07.11