3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
C# 隱性指標 [C# Implicitly pointer] VS C++ 傳統指標 GITHUB: https://github.com/jash-git/CS_-Implicitly_pointer C#當建立一個空物件,然後用指定方式賦予值時,則新物件會是以指標和原物件共想成員變數空間 C#版: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CS_test { public class A { public int m_inta,m_intb; public A() { m_inta=0; m_intb=0; } public A(int a,int b) { m_inta=a; m_intb=b; } } class Program { static void pause() { Console.Write("Press any key to continue ..."); Console.ReadKey(true); } static void Main(string[] args) { A a = new A(100, 200); A b; System.Console.Write(a.m_inta + "\t" + a.m_intb + "\n"); //未初始化b所以不能使用 System.Console.Write(b.m_inta + "\t" + b.m_intb + "\n"); System.Console.Write("---------------\n"); b = a; System.Console.Write(a.m_inta + "\t" + a.m_intb + "\n"); System.Console.Write(b.m_inta + "\t" + b.m_intb + "\n"); System.Console.Write("---------------\n"); b.m_inta = 200; b.m_intb = 100; System.Console.Write(a.m_inta + "\t" + a.m_intb + "\n"); System.Console.Write(b.m_inta + "\t" + b.m_intb + "\n"); System.Console.Write("---------------\n"); pause(); } } } C++版: #include using namespace std; class A { public: int m_inta,m_intb; A() { m_inta=0; m_intb=0; }; A(int a,int b) { m_inta=a; m_intb=b; }; }; int main() { A a(100,200),b; cout << a.m_inta<m_inta<m_intb<< endl;//未初始化,內容不可控 cout << "----------------------" << endl; pa=&a; cout << a.m_inta<m_inta<m_intb<< endl; cout << "----------------------" << endl; pa->m_inta=200; pa->m_intb=100; cout << a.m_inta<m_inta<m_intb<< endl; cout << "----------------------" << endl; return 0; }

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦