C++一個數(shù)組賦值給另一個數(shù)組方式
C++一個數(shù)組賦值給另一個數(shù)組
循環(huán)遍歷賦值
使用循環(huán)結構(如 for 循環(huán))逐個元素進行賦值拷貝。
下面是示例代碼:
#include <iostream>
const int SIZE = 5; // 數(shù)組的大小
int main() {
int arr1[SIZE] = {1, 2, 3, 4, 5}; // 原始數(shù)組
int arr2[SIZE]; // 目標數(shù)組
// 將arr1的值賦給arr2
for (int i = 0; i < SIZE; ++i) {
arr2[i] = arr1[i];
}
// 打印arr2的值
for (int i = 0; i < SIZE; ++i) {
std::cout << arr2[i] << " ";
}
std::cout << std::endl;
return 0;
}在上述代碼中,定義了兩個數(shù)組 arr1 和 arr2,并使用循環(huán)結構將 arr1 的值逐個賦給 arr2。然后,我們使用另一個循環(huán)來打印 arr2 的值。
運行上述代碼,輸出將是:
1 2 3 4 5
這表明 arr2 成功地從 arr1 中接收了相同的值。
使用標準庫中的函數(shù) std::copy 或 std::memcpy
在C++中,直接使用賦值操作符 = 可以實現(xiàn)一個數(shù)組的地址賦值給另一個數(shù)組。但是,并沒有復制數(shù)組的內(nèi)容。這將導致兩個數(shù)組共享相同的內(nèi)存空間,對一個數(shù)組的修改也會影響到另一個數(shù)組。
如果想要實現(xiàn)數(shù)組內(nèi)容的整體賦值,可以使用標準庫中的函數(shù) std::copy 或 std::memcpy,此時是兩個數(shù)組(即地址不同)。
下面是示例代碼:
#include <iostream>
#include <algorithm>
#include <cstring>
const int SIZE = 5; // 數(shù)組的大小
int main() {
int arr1[SIZE] = {1, 2, 3, 4, 5}; // 原始數(shù)組
int arr2[SIZE]; // 目標數(shù)組
// 使用 std::copy 進行整體賦值
std::copy(arr1, arr1 + SIZE, arr2);
// 打印arr2的值
for (int i = 0; i < SIZE; ++i) {
std::cout << arr2[i] << " ";
}
std::cout << std::endl;
return 0;
}在上述代碼中,使用 std::copy 函數(shù)將 arr1 的內(nèi)容復制到 arr2 中。這樣,arr1 和 arr2 將擁有獨立的內(nèi)存空間,對一個數(shù)組的修改不會影響到另一個數(shù)組。
運行上述代碼,輸出將是:
1 2 3 4 5
這表明 arr2 成功地從 arr1 中接收了相同的值,而且兩個數(shù)組是獨立的。
使用標準庫容器
如果在 C++ 中使用了標準庫容器(如 std::vector、std::array 等),可以直接使用容器的賦值操作符或拷貝構造函數(shù)來進行數(shù)組之間的拷貝。
#include <vector>
std::vector<int> source = {1, 2, 3, 4, 5};
std::vector<int> destination = source;這種方法適用于使用標準庫容器的情況,它們提供了方便的拷貝操作。
無論選擇哪種方法,都要確保目標數(shù)組的大小足夠容納源數(shù)組的元素,并且注意避免數(shù)組越界訪問。
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
C++中Overload,Override,Hide之間的區(qū)別
重載overload,這個概念是大家熟知的。在同一可訪問區(qū)內(nèi)被聲名的幾個具有不同參數(shù)列的(參數(shù)的類型、個數(shù)、順序不同)同名函數(shù),程序會根據(jù)不同的參數(shù)列來確定具體調(diào)用哪個函數(shù),這種機制就是重載2013-09-09
C++?qsort函數(shù)排序與冒泡模擬實現(xiàn)流程詳解
qsort是一個庫函數(shù),基于快速排序算法實現(xiàn)的一個排序的函數(shù),下面這篇文章主要給大家介紹了關于C語言qsort()函數(shù)使用的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-10-10

