簡體   English   中英

交換功能使用指針

[英]Swap Function Utilizing Pointers

因此,對於分配,我必須編寫一個模板函數,該函數將成功交換兩個任何類型的值。 我還必須驗證該函數也可以使用指針。 顯然,徹底的輸出將演示指針的交換,而不是指針所指向的值的交換。

我對如何開始有一個大致的了解,但對后言卻無所適從。

到目前為止,這就是我所擁有的。

template <typename T>

void swap(T*& first, T*& second) 
{

T* a = nullptr;

a = first;
first = second;
second = a;

std::cout << first << " " << second << " ";



}

我已經有了函數原型,但是不知道從這里開始該怎么做,關於如何調用此函數以及是否能真正為我提供所需輸出的任何建議?

這是我的主

int main()
{
    swap(10, 20);

    system("pause");

}

謝謝!

您的模板函數希望將指向T指針作為參數。 您的密碼

int main()
{
    swap(10, 20);

    system("pause");

}

不使用指針而是整數字面值來調用它。 您應該用來調用函數的是

int main() {
    int var1 = 42;
    int var2 = 15;
    int* pvar1 = &var1;
    int* pvar2 = &var2;

    swap(pvar1,pvar2);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM