반응형
여러 값의 C ++ 배열 할당
따라서 배열을 초기화 할 때 한 지점에서 여러 값을 할당 할 수 있습니다.
int array [] = {1,3,34,5,6}
하지만 배열이 이미 초기화되어 있고 해당 배열의 요소 값을 한 줄로 완전히 바꾸려면 어떻게해야합니까?
그래서
int array [] = {1,3,34,5,6}
array [] = {34,2,4,5,6}
작동하지 않는 것 같습니다 ...
그렇게 할 수있는 방법이 있습니까?
초기화 와 할당 에는 차이가 있습니다 . 원하는 것은 초기화가 아니라 할당입니다. 그러나 배열에 대한 이러한 할당은 C ++에서 불가능합니다.
수행 할 수있는 작업은 다음과 같습니다.
#include <algorithm>
int array [] = {1,3,34,5,6};
int newarr [] = {34,2,4,5,6};
std::copy(newarr, newarr + 5, array);
그러나 C ++ 0x에서는 다음을 수행 할 수 있습니다.
std::vector<int> array = {1,3,34,5,6};
array = {34,2,4,5,6};
물론 std::vector
원시 배열 대신 사용하도록 선택하면 .
다음과 같은 방법으로 값 하나를 교체해야 하나 등을위한 루프 또는 사용하는 것과 같은 또 다른 이상 다른 배열을 복사하는 등의 memcpy(..)
또는std::copy
예 :
for (int i = 0; i < arrayLength; i++) {
array[i] = newValue[i];
}
경계를 벗어난 문제를 방지하기 위해 발생해야하는 적절한 경계 검사 및 기타 검사를 확인하십시오.
const static int newvals[] = {34,2,4,5,6};
std::copy(newvals, newvals+sizeof(newvals)/sizeof(newvals[0]), array);
참고 URL : https://stackoverflow.com/questions/5732798/c-array-assignment-of-multiple-values
반응형
'code' 카테고리의 다른 글
파이썬에서 다중 스레드 프로그램을 어떻게 프로파일 링 할 수 있습니까? (0) | 2020.12.09 |
---|---|
내 웹 사이트에서 이미지를 업로드 할 수있는 API가있는 좋은 이미지 호스팅 사이트는 무엇입니까? (0) | 2020.12.09 |
MVVM Light Toolkit 샘플 (0) | 2020.12.09 |
github를 JIRA에 어떻게 연결합니까? (0) | 2020.12.09 |
PHP는 다른 네임 스페이스에서 모든 클래스를 가져 오는 방법 (0) | 2020.12.09 |