1樓:匿名使用者
需要定義一個類,然後再把類指標指向這個類的地址,也可以初始化為null,但是null指標只能呼叫不涉及類成員變數的類成員函式。
**示例:
#include
using namespace std;
class test
int get()
test():a(1),b(2){}
public:
int a,b;
};int main()
說明:初始化為null的類指標可以安全的呼叫不涉及類成員變數的類成員函式而不出錯,但是如果類成員函式中呼叫了類成員變數則會出錯,既然賦值為null的情況都可以使用,那麼自然不初始化的類指標同樣滿足這類情況。
2樓:匿名使用者
賦值為null來初始化是沒錯的。錯在你後面的賦值語句中使用的變數,好好檢查下這個變數是不是初始化過了。
3樓:匿名使用者
初始化肯定是null,以後要用時再指向類的例項
4樓:搞笑點
cicmian 是什麼型別,是對話方塊的要看是模態還是非模態的,非模態的要new 完了creat..。如果是視類的話,getactiveview或者取得文件模板再找視類
5樓:幸巴達
cicmian *icmain=null;
這裡你初始化指標為空, 也就是指標不指向任何東西.
下面你再呼叫他的成員肯定就會出錯了.
過程大概應該是這樣的
clcmain m;
...icmian *icmain=null;
icmain = &m;
icmain->m_lamp.setbitmap(icmain->hok);
6樓:匿名使用者
呵呵, 空指標怎麼能直接用呢, 一定要指向實體才行, 如:
clcmain *lcmain = new clcmain;
或clcmain tmpmain;
clcmain *lcmain = &tmpmain;
7樓:匿名使用者
cicmian *icmain=null;
icmain->m_lamp.setbitmap(icmain->hok); //這裡肯定死,icmain沒有例項化,先將icmain指向一個具體的物件
8樓:
clcmian *lcmain;
memset(lcmain,0,sizeof(clcmian)); //分配空間
再進行賦值
9樓:燃燒的左眼
cicmaindlg *m_picmaindlg = null;
初始化完畢
如何初始化一個指標陣列
10樓:兄弟連教育北京總校
int a[5]=
int* pt[5];
for(i=0;i<5;i++)
以上為一個小例子,指標陣列不可以直接賦值,因為指標本質上是一組地回址。但可以通過「答
指向」賦值
指標變數的如何初始化?
11樓:太平t道人
*p=ival 表示*p的內容是ival(可以是個值或是空間)定義的時候可以寫成p=&ival,p的值是ival的地址值oxcdcdcdcd一類的東西;有時候在函式呼叫的時候,今後會用很多,會用到**p,作為指標的形參傳遞
指標容易出錯是 如果p指向一塊找不到的空間,取*p會出錯的,或是p和*p用錯地方了,很容易出錯。只有自己多練,理解指標的原理才會發現其好用的地方。建議你練練單連結串列去掌握指標的基本使用。
12樓:匿名使用者
關於 c/c++指標 是c/c++語言的難點之一至於指標的概念大家都知道 初始化有很多種方式 甚至在很多庫源**中我們可以看到沒有初始化的指標 這是指標的靈活性所至
在應用開發中 指標的使用原則是:
宣告指標
要麼初始化為指向有效地址; 比如: int i; int *pi = &i;
要麼 初始化為指向空地址(即vnullptr) 地址; 比如: int *pi = nullptr; 備註:(關於 nullptr 請查閱 c++ 最新規範,就**中 使用 null)
注意將 指標和引用區分。
13樓:匿名使用者
在int*p=ival中,p就是一個指標,它的值是ival,不過一般不這麼用,不能給指標賦確定的值,還是拿你剛剛的例子,用的最多的是這樣是取地址的符號。
指標可以節省空間,一個指標佔用的大小是確定的4位,而且指標也比較方便,它指向的是資料儲存的地址,指標的實質也是地址。
因為指標一定要指向具體的地址才有效,如果程式一長,就很容易造成指標懸空,或者兩個指標指向同一地址,如果這個時候對它們操作就會造成很多錯誤。
最關鍵的是,指標很容易破壞封閉性,如果你想要資料私有,最好避免指標。
弄不懂也沒關係,指標比較難,我也是花了很久才慢慢想通的。
14樓:
任何變數,都有兩個資訊:一是它所存放的資料,二是它的存放位置(即地址)。地址,在整個記憶體中,都是唯一存在的。沒有重複的兩個地址。
一個變數一經定義(申請)它的地址就已經確定了,是一個常數,不能改變的。而它存放的資料是可以改變的。
指標,本質上,也是一個變數,它也具有這兩方面的資訊:資料、地址。它的地址同樣是固定的,不可修改的。
它的資料比較特殊,存放的是其它變數的地址。同樣,也可以存放其它指標的地址,因為指標也是變數。
指標的賦值,是指給指標存放的資料賦值。所以,這個資料必須是地個地址。
例如:int a; int *p = &a; // 相當於 int *p; p = &a;
再如:int a = ; int *p = a; //這裡a是陣列名,也就是陣列的首地址。
Cintnintpnewint怎樣初始化
new int n 會申 復請一個n個int元素的內製存空間,相當於一個n個int元素的陣列bai,這個值會被賦值給dup i p為int 為元素的陣列,或zhiint 指標,其中p i 為p的第i個元dao素。於是這句話的意思就是,在p的第i個元素分配n個int元素的空間。其後可以使用p i 0 ...
路由器初始化後會怎麼樣 初始化後不用設定引數能直接上網嗎?
裡面的資料會被清空!不能直接上網的,需要設定上網帳號和密碼。初始化即恢復至出廠設定,不會怎麼樣。一般重新設定路由就行了,不用設定引數?那這個路由器 不菲吧?等於是出廠狀態。不能上網。一般的路由都會有設定嚮導的,你自己按著設定就可以了,你買路由也會附帶說明書的。一般把網絡卡設為自動獲取ip就可以了。路由...
C語言野指標就是未初始化的指標麼
未初始化的指標可以稱為野指標 wild pointer 但是野指標並不僅僅是未初始化的指標.一般來說,野指標 dangling pointer,wild pointer 指向的是記憶體中無效的物件,這樣說可能很抽象,比如以下幾個例子.1.如果有一段 如下 char dp null c falls o...