偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C++ void基礎概念講述

開發(fā) 后端
C++ void意思是指無類型。那么void指針則是無類型指針。他們的基本概念我們將會在這篇文章中為大家詳細介紹。

C++編程語言中的很多概念都值得我們去不斷的學習,不斷的從中積累經驗以幫助我們在程序編寫時獲得更大的幫助。比如今天為大家介紹的C++ void就是ige比較重要的內容。許多初學者對C++ void及void指針類型不甚理解,因此在使用上出現(xiàn)了一些錯誤。本文將對void關鍵字的深刻含義進行解說,并詳述void及void指針類型的使用方法與技巧。

void的字面意思是“無類型”,void *則為“無類型指針”,void *可以指向任何類型的數據。

void幾乎只有“注釋”和限制程序的作用,因為從來沒有人會定義一個void變量,讓我們試著來定義:

  1. void a; 

這行語句編譯時會出錯,提示“illegal use of type 'void'”。不過,即使void a的編譯不會出錯,它也沒有任何實際意義。#t#

C++ void真正發(fā)揮的作用在于:

(1) 對函數返回的限定;

(2) 對函數參數的限定。

我們將在第三節(jié)對以上二點進行具體說明。

眾所周知,如果指針p1和p2的類型相同,那么我們可以直接在p1和p2間互相賦值;如果p1和p2指向不同的數據類型,則必須使用強制類型轉換運算符把賦值運算符右邊的指針類型轉換為左邊指針的類型。

例如:

 

  1. float *p1;  
  2. int *p2;  
  3. p1 = p2

其中p1 = p2語句會編譯出錯,提示“'=' : cannot convert from 'int *' to 'float *'”,必須改為:

 

  1. p1 = (float *)p2; 

而void *則不同,任何類型的指針都可以直接賦值給它,無需進行強制類型轉換:

 

  1. void *p1;  
  2. int *p2;  
  3. p1 = p2

但這并不意味著,void *也可以無需強制類型轉換地賦給其它類型的指針。因為“無類型”可以包容“有類型”,而“有類型”則不能包容“無類型”。道理很簡單,我們可以說“男人和女人都是人”,但不能說“人是男人”或者“人是女人”。下面的語句編譯出錯:

 

  1. void *p1;  
  2. int *p2;  
  3. p2 = p1

提示“'=' : cannot convert from 'void *' to 'int *'”。

以上就是對C++ void的一些基本介紹。

責任編輯:曹凱 來源: 博客園
相關推薦

2010-02-01 14:07:12

C++多態(tài)性

2010-02-05 17:34:37

C++函數模板

2010-02-01 16:13:15

C++繼承

2010-02-02 09:43:27

C++存儲區(qū)域

2010-01-21 13:33:44

C++基類

2010-01-12 10:40:22

C++程序員

2010-02-01 13:25:32

Python腳本

2010-01-19 15:36:02

C++語言

2010-02-06 09:59:54

C++ void使用規(guī)

2010-02-04 15:51:07

C++迭代器

2010-01-12 10:11:36

學習C++語言

2010-01-12 15:24:48

C++語言

2010-01-13 13:58:49

C++編譯模式

2010-01-15 10:41:06

CC++

2010-02-05 10:08:55

C++名字空間

2010-02-02 11:16:28

C++異常

2010-01-13 11:14:06

C++虛表

2010-02-04 15:58:39

C++淺拷貝

2009-08-13 18:02:50

C#基礎概念

2011-07-15 00:47:13

C++多態(tài)
點贊
收藏

51CTO技術棧公眾號