最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++函數(shù)可以利用vector容器實現(xiàn)函數(shù)返回多個值

2023-02-08 11:31 作者:__牛油果__  | 我要投稿

#include <iostream>
#include <vector>

using namespace std;

// C++函數(shù)可以利用vector容器實現(xiàn)函數(shù)返回多個值

// 返回一個vector變量,并打印vec的地址和存放在容器中第一個數(shù)據(jù)的首地址
vector<float> fun(int * x, int * y)

{
vector<float> vec;
// 創(chuàng)建一個用于儲存結果的vector

int temp;
temp = *x; ? ?/* 保存地址 x 的值 */

*x = *y; ? ? ?/* 把 y 賦值給 x */

*y = temp; ? ?/* 把 x 賦值給 y */

int sum1 =*x + *y;

int minus1 =*x - *y;

int product1 =*x * *y;

float quotient1 = (float)*x / *y;
vec.push_back(*x); ? ? ? ? ?// 添加一個元素 *x

vec.push_back(*y); ? ? ? ? ?// 添加一個元素 *y

vec.push_back(sum1); ? ? ? ?// 添加一個元素

vec.push_back(minus1); ? ? ?// 添加一個元素

vec.push_back(product1); ? ?// 添加一個元素

vec.push_back(quotient1); ? // 添加一個元素
cout << "fun():&vec ? ? ? ? " << &vec << endl;

cout << "fun():&vec[0] ? ? ?" << &vec[0] << endl;

// ? ?cout << "After swap, a is " << vec[0] << endl;

// ? ?cout << "After swap, b is " << vec[1] << endl;

// ? ?cout << "sum is ? ? ?" << vec[2] << endl;

// ? ?cout << "minus is ? ?" << vec[3] << endl;

//????cout << "product is ?" << vec[4] << endl;

//????cout << "quotient is " << vec[5] << endl;? ?

return vec; ? // 返回vector

}
int main()?

{
vector<float> vec;
// 創(chuàng)建一個接收用結果的vector(名稱vec任意)

// 局部變量聲明
int a = 100;

auto b = 205; ?// auto可以自動根據(jù)右值判斷左值的類型
cout << "------------Before-------------" <<endl;

cout << "Before swap, a is ?" << a << endl;

cout << "Before swap, b is ?" << b << endl;vec = fun(&a,&b); ? ? ? ? ? // 接收傳來的參數(shù)

cout << "------------After-------------" <<endl;

cout << "After swap, a is ? " << a << endl; ? ? ? // ☆☆利用指針(的引用)帶回

cout << "After swap, a is ? " << vec[0] << endl; ?// ☆☆利用返回值帶回

cout << "After swap, b is ? " << b << endl;

cout << "After swap, b is ? " << vec[1] << endl;

cout << "sum is ? ? ? ? ? ? " << vec[2] << endl;

cout << "minus is ? ? ? ? ? " << vec[3] << endl;

cout << "product is ? ? ? ? " << vec[4] << endl;

cout << "quotient is ? ? ? ?" << vec[5] << endl;

cout << "main():&vec ? ? ? ?" << &vec << endl;

cout << "main():&vec[0] ? ? " << &vec[0] << endl;

vector<float>().swap(vec); ?// vec便是需要清空的容器。
return 0;

}
//————————————————

// 本文參考了CSDN博主「愛拍凱特」的文章,

// 鏈接:https://blog.csdn.net/apacat/article/details/111502396

/ 總結起來就是:

// vector與動態(tài)數(shù)組性質(zhì)相同。

// 具體數(shù)據(jù)存放在堆區(qū)。

// 變量名存放在棧區(qū)。

// 變量名中存放的是堆區(qū)的首地址。(故,swap前后,存放在容器中第一個數(shù)據(jù)的首地址不改變)

C++函數(shù)可以利用vector容器實現(xiàn)函數(shù)返回多個值的評論 (共 條)

分享到微博請遵守國家法律
金平| 稻城县| 东明县| 西平县| 友谊县| 额尔古纳市| 西盟| 固镇县| 六盘水市| 延川县| 察雅县| 汶川县| 杭州市| 响水县| 亳州市| 北碚区| 阿荣旗| 烟台市| 萝北县| 高雄市| 德安县| 治县。| 东乡| 页游| 华亭县| 临湘市| 隆回县| 郓城县| 芒康县| 张家界市| 郓城县| 吉林市| 兴海县| 临邑县| 通海县| 繁昌县| 东阿县| 根河市| 迁西县| 渭源县| 和平县|