1樓:
任何非「指向常量的指標」在這種情況下都是引用,你可以把這類指標看成是陣列,你也最好當char*是char,因為這裡正是以資料引用來傳遞,這裡t的型別是char[6]。陣列之間不能轉換,但凡是轉換都有複製。
其實,你這個程式不能在一個嚴格遵守c++規定的編譯器中編譯通過,不能從const char*到char*的轉換,"abc"的型別是const char*
2樓:匿名使用者
沒有理解樓主想表達什麼意思,不過還是跟你學習了,呵呵:
#include
using std::cin;
using std::cout;
using std::endl;
template
void f(t* const pt)
3樓:匿名使用者
這得問編譯器啦。不過你這模板本來就是不規範有歧義的啦。
比如若輸出reference
就是f(str)和f(p)
若輸出point
則是f(str)和f(p)
這與你輸入引數是不是指標應該沒啥關係,就看編譯器怎麼認了
c怎麼把函式作為形參在另函式中並實現函式呼叫
include using namespace std typedef int pfun int a,int b 函式指標 int add int a,int b void fun int a,int b,pfun pfun 函式指 針作為函式的引數專 為什麼c 語言不允許在一個函式的定義中再定義另...
C 形參與實參,c語言中形參和實參的區別是什麼?
這是因為在呼叫swap函式的時候形參a與b獲得了x與y的值的拷貝。從數值上看a與x相等,b與y相等,但實際上在記憶體裡佔用的是不同的地址,把swap x,y 一下大概長這樣 編譯器不是這麼處理的,甚至有多種處理方式,這裡只是為了方便理解 int a x int b y int t a a b b t...
C中的const形參,C const的用法
只有c 才會有這個疑問,我也是 int add const int aa 其實不用ref const,比如string,你就直接ref string就可以了,而定義這個string的時候,前面加上const就ok了。我想這就是樓主想要的效果吧。汗,你不用關鍵字ref直接傳遞一個值型別變數進去 就只是...