«stdvector» 태그된 질문

std :: vector는 C ++ 표준 라이브러리의 연속 시퀀스 컨테이너입니다. 저장은 자동으로 처리되므로 요소를 추가하거나 크기를 조정하면 벡터가 더 많은 메모리를 할당 할 수 있습니다. std :: vector 또는 std :: vector 관련 질문에이 태그를 사용하십시오.

2
std :: vector에 추가 할 때 클래스 필드의 이상한 동작
다음 상황에서 매우 이상한 동작 (clang 및 GCC에서)이 발견되었습니다. nodes하나의 요소가있는 class의 인스턴스 가있는 벡터가 있습니다 Node. 그런 다음 벡터에 nodes[0]새로운 것을 추가 하는 함수를 호출합니다 Node. 새 노드가 추가되면 호출 객체의 필드가 재설정됩니다! 그러나 일단 기능이 완료되면 다시 정상으로 돌아 오는 것 같습니다. 나는 이것이 최소한의 재현 가능한 예라고 …

6
std :: vector :: swap 메소드를 사용하여 C ++에서 두 개의 다른 벡터를 바꾸는 것이 안전합니까?
다음 코드가 있다고 가정하십시오. #include <iostream> #include <string> #include <vector> int main() { std::vector<std::string> First{"example", "second" , "C++" , "Hello world" }; std::vector<std::string> Second{"Hello"}; First.swap(Second); for(auto a : Second) std::cout << a << "\n"; return 0; } 벡터가 std::string아직 클래스 가 아니라고 상상해보십시오 . std::vector<Widget> WidgetVector; std::vector<Widget2> Widget2Vector; 이 std::vector::swap방법으로 …
30 c++  c++11  vector  stdvector  swap 

3
두 범위 내에서 내림차순으로 벡터 정렬
정수 벡터가 있다고 가정 해보십시오. std::vector<int> indices; for (int i=0; i<15; i++) indices.push_back(i); 그런 다음 내림차순으로 정렬합니다. sort(indices.begin(), indices.end(), [](int first, int second) -> bool{return indices[first] > indices[second];}) for (int i=0; i<15; i++) printf("%i\n", indices[i]); 이것은 다음을 생성합니다. 14 13 12 11 10 9 8 7 6 5 4 3 …

1
std :: vector를 만드는 현대적인 접근 방식으로 정렬 된 메모리 할당
다음과 같은 질문은 답변이 오래된 그러나, 관련 및 사용자의 코멘트 마크 Glisse은 충분히 논의되지 않을 수 있습니다이 문제에 대한 17 ++ C 이후 새로운 접근 방식이 있습니다 제안합니다. SIMD에 대해 정렬 된 메모리가 올바르게 작동하면서 여전히 모든 데이터에 액세스하려고합니다. Intel에서 유형의 float 벡터를 만들고 __m256크기를 8 배 줄이면 정렬 된 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.