码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 语言中的重载、内联、缺省参数、隐式转换等机制展现了很多优点

时间:2018-08-02 13:16:18      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:单元   main   The   space   展现   初始   缺省   getch   let   

C++ 语言中的重载、内联、缺省参数、隐式转换等机制展现了很多优点,但是这些 优点的背后都隐藏着一些隐患。正如人们的饮食,少食和暴食都不可取,应当恰到好处。 我们要辨证地看待 C++的新机制,应该恰如其分地使用它们。

虽然这会使我们编程时多 费一些心思,少了一些痛快,但这才是编程的艺术。

 1 #include <iostream>
 2 
 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 4 using namespace std;
 5 int main(int argc, char** argv) {
 6         //定义一个包含指针成员的结构类型
 7     struct test {
 8        char *str;
 9        int  *ip;
10     } x;
11 
12     //使用结构变量x中的整型指针ip
13     x.ip=new int;    //分配1个单元
14     *(x.ip)=100;
15     cout<<"x.ip:"<<x.ip<<\t<<*(x.ip)<<endl;
16     cout<<"---------------"<<endl;
17     delete x.ip;
18     x.ip=new int[5];    //分配5个单元
19     for(int i=0;i<5;i++)
20         *(x.ip+i)=100+i;
21     cout<<"x.ip:"<<endl;
22     for(int i=0;i<5;i++)
23         cout<<x.ip+i<<\t<<(*(x.ip+i))<<endl;
24     delete x.ip;
25     cout<<"---------------"<<endl;
26 
27     //使用结构变量x中的字符型指针str
28     x.str=new char(A);    //分配1个单元
29     cout<<"x.str:"<<(*x.str)<<endl;
30     cout<<"---------------"<<endl;
31     delete x.str;
32     x.str=new char[5];    //分配多个单元
33     *x.str=G;
34     *(x.str+1)=o;
35     *(x.str+2)=o;
36     *(x.str+3)=d;
37     *(x.str+4)=\0;
38     cout<<"x.str:"<<x.str<<endl;
39     delete x.str;
40     cout<<"---------------"<<endl;
41 
42     //在声明结构变量时初始化
43     test y={"Very Good!",NULL};
44     cout<<"y.str:"<<y.str<<endl;
45     cout<<"y.ip:"<<y.ip<<endl;
46     return 0;
47 }

 

C++ 语言中的重载、内联、缺省参数、隐式转换等机制展现了很多优点

标签:单元   main   The   space   展现   初始   缺省   getch   let   

原文地址:https://www.cnblogs.com/borter/p/9406534.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!