어떻게 기능
답변
벡터를 수정하지 않으려면 일반적으로 const 참조로 전달하십시오.
void draw(const std::vector<T>& v)
{
for (int x = 0; x < v.size(); x++)
{
// draw v[x];
}
}
이터레이터를 사용할 수도 있습니다 (이것은 종종 권장 됨). 즉 전체 벡터 당신은 분명 매우 비효율적이다 함수를 호출 할 때마다 복사 할 원인이 있기 때문에
void draw(const std::vector<T>& v)
{
for (std::vector<T>::const_iterator x = v.begin(); x != v.end(); ++x)
{
// draw *x;
}
}
당신이 값 (draw(std::vector<T> v)
)하여 통과하지 못한 이유입니다. 참고 문헌은 새로운 벡터를 생성하는 것이 아니라 기존 벡터를 참조한다는 것을 의미합니다. (C++ 11에서 여전히) 또는
for (const auto & x : vector) { draw(x); }
: 현대 C에서
'iterators'는 STL의 기본적인 접착제 일뿐입니다. –
그리고 'auto'는 iterator를 더 편리하게 입력하게합니다. –
는 ++이 귀하의 오류를 수정하지 않고 답변을 얻을 수 있습니다 이것은에서 작동 할 수
for (auto it = vector.cbegin(), end = vector.cend(); it != end; ++it)
{
draw(*it);
}
C++ 98/03 ,
for (std::size_t i = 0, end = vector.size(); i != end; ++i) { draw(vector[i]); }
C++ 98/03에서'i = 0, ie = vector.size()'를 할 수 없습니까? 매 반복마다 함수를 호출하는 것이 재미 있지는 않습니다. –
@ MichaelKrelin-hacker : 할 수 있습니다! :-) –
오! 그래서 너를 할 수있어 ;-) (+1) –
std :: vector가 유형입니다. 당신은 인스턴스에 전달해야하므로 귀하의 경우 :
이void draw(const std::vector<class> & v);
#include <algorithm>
#include <vector>
#include <iostream>
void addOne(int& value)
{
value++;
}
void print(int& value)
{
std::cout << value;
}
int main()
{
std::vector<int> myVector;
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);
std::for_each(myVector.begin(), myVector.end(), addOne);
std::for_each(myVector.begin(), myVector.end(), print);
}
는 출력 :
(234)에 의해 쓴
draw(abc);
또한 함수는 프로토 타입을 가져야한다고 동의 손, 컴파일러 오류가 가능합니다.
- 1. 어떻게 기능
- 2. 어떻게 JQuery와 기능
- 3. 어떻게 jQuery를 아약스 기능
- 4. 어떻게 JQuery와 아약스 기능
- 5. 어떻게 가변 기능
- 6. 어떻게 같은 필드와 기능
- 7. Maya의 dnoise 기능 : 어떻게 동작하나요? 어떻게 구현합니까?
- 8. 메모리를 얻기 위해 어떻게 기능
- 9. Excel 기능 추세는 어떻게 사용합니까?
- 10. "기능"은 기능이며 어떻게 가능합니까?
- 11. 이 기능 구조에서 어떻게 종료할까요?
- 12. 복잡한 쿼리 기능 - 어떻게 작성합니까?
- 13. 어떻게 PowerShell을 기능 매개 변수가
- 14. 어떻게 내가 형태가 다른 기능
- 15. 어떻게 기능 - 목표 C C에서
- 16. 어떻게 자바 스크립트에서 토글 기능
- 17. 나는 기능 A가 어떻게 "이"
- 18. 기능 기능
- 19. 기능
- 20. jQuery를 기능 - 나는 기능 다음 한 기능
- 21. 기능
- 22. 기능
- 23. 관련 기능 세트에 대한 도움을 어떻게 제공해야합니까?
- 24. 어떻게 내가 원하는 것은 같은 것이있는 기능
- 25. 기능 테스트가 실행중인 iOS 장비는 어떻게 검색합니까?
- 26. 어떻게 아래와 같이 테이블을 만든 기능
- 27. HOG 기능 설명자 훈련은 어떻게 작동합니까?
- 28. 오류 2753 기능 트리 ... 어떻게 피합니까?
- 29. 가 어떻게 onClosed 기능 내에서 fancybox
- 30. 기능 점수 분석에서 조직 생산성은 어떻게 계산됩니까?
'class'는 C++의 키워드입니다. 유형을 지정할 수는 없습니다. –