나는이 무고한보고있는 코드가 다소 위험하다는 생각에 맞습니까? 몇 가지 답변을 읽은 후벡터에 삽입
template<typename T>
void insertLast(std::vector<T>& v)
{
if(v.empty()) return;
v.insert(v.begin(), v.back());
}
일부 해명 .. 잘
정말 즉 .. 벡터에 요소를 삽입하지만 원리를 질문 더미 상황을 만들어하는 방법을 요구하고 있지 않다 당신을
template<typename T>
void insertLast(std::vector<T>& v)
{
if(v.empty()) return;
v.insert(v.begin(), T(v.back()));
}
'const' 참조에'insert'를 호출 할 수 없으므로 컴파일되지 않습니다. 그것은 당신이 위험하다고 생각하는 것입니까? –
'typename T'도 컴파일해야합니다. – Benj
당신은'뒤로'와'끝'을 혼동하지 않습니다? 그것의 쉬운 실수지만 코드의 의미를 완전히 바꾼다 – jozefg