⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c和c++语言学习总结(二)_c语言教程_c++教程_c语言培训_c++教程培训.txt

📁 C和C++语言学习总结(二)_C语言教程_C++教程_C语言培训_C++教程培训 C和C++语言学习总结(二)_C语言教程_C++教程_C语言培训_C++教程培训
💻 TXT
字号:
C和C++语言学习总结(二)_C语言教程_C++教程_C语言培训_C++教程培训_C/C++频道_中国IT实验室 首页 | 互联网 | IT动态 | IT培训 
| Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 
服务器 
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 
博客 | 论坛   输入您的搜索字词  提交搜索表单           


            首页资讯动态C语言C++编程C∕C++开发应用VC++C++Builder专题下载博客论坛

您现在的位置: 中国IT实验室 >> C∕C++频道 >> C语言 >> 基础入门 >> 正文 C和C++语言学习总结(二) 10大城市2万个热门IT职位 
注册有奖
JAVAV工程师权威认证
广州中星报MCSE送CCNA3600元 上海英孚教育急聘
系统管理员 初级程序员 软件开发工程师
数据库工程师 高级项目经理 界面设计经理 中国IT实验室收集整理 佚名 2008-12-29 保存本文 推荐给好友 收藏本页 
欢迎进入C/C++编程社区论坛,与200万技术人员互动交流 >>进入
    4、函数参数传递
    C++语言中,函数的参数和返回值的传递方式有三种:值传递、指针传递和引用传递。
    "值传递"的示例程序。由于Func1 函数体内的x 是外部变量n 的一份拷贝,改变x 的值不会影响n, 所以n 的值仍然是0.  void 
      Func1(int x)
      {
      x = x + 10;
      }
      int n = 0;
      Func1(n);
      cout < < "n = " < < n < < endl; // n = 0

    "指针传递"的示例程序。由于Func2 函数体内的x 是指向外部变量n 的指针,改变该指针的内容将导致n 的值改变,所以n 的值成为10.  
      void Func2(int *x)
      {
      (* x) = (* x) + 10;
      }
      int n = 0;
      Func2(&n);
      cout < < "n = " < < n < < endl; // n = 10
    "引用传递"的示例程序。由于Func3 函数体内的x 是外部变量n 的引用,x和n 是同一个东西,改变x 等于改变n,所以n 的值成为10.  
      void Func3(int &x)
      {
      x = x + 10;
      }
      int n = 0;
      Func3(n);
      cout < < "n = " < < n < < endl; // n = 10

    内存分配方式
    分配方式 变量类型 分配特点
    静态存储区域分配 全局变量,static 变量 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。
    栈分配 函数内局部变量 栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
    堆分配(亦称动态内存分配) new ,malloc分配 用malloc 或new 申请任意多少的内存,程序员自己负责在何时用free 或delete 
释放内存。
    内存错误
    内存分配未成功,却使用了它。
    内存分配虽然成功,但是尚未初始化就引用它。
    内存分配成功并且已经初始化,但操作越过了内存的边界。 例如在使用数组时经常发生下标"多1"或者"少1"的操作。特别是在for 
循环语句中,循环次数很容易搞错,导致数组操作越界。
    忘记了释放内存,造成内存泄露。
    放了内存却继续使用它。
    函数的return 语句写错了,注意不要返回指向"栈内存"的"指针"或者"引用",因为该内存在函数体结束时被自动销毁。
    程序中的对象调用关系过于复杂,实在难以搞清楚某个对象究竟是否已经释放了内存,此时应该重新设计数据结构,从根本上解决对象管理的混乱局面。
    使用free 或delete 释放了内存后,没有将指针设置为NULL.导致产生"野指针".
    malloc与new区别
    malloc 与free 是C++/C 语言的标准库函数,new/delete 是C++的运算符。它们都可用于申请动态内存和释放内存。
    对于非内部数据类型的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 
对象在消亡之前要自动执行析构函数。由于malloc/free 
是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free.因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以及一个能完成清理与释放内存工作的运算符delete.注意new/delete 
不是库函数。
    5、类重载、隐藏与覆盖区别
    成员函数被重载的特征:
    (1)相同的范围(在同一个类中);
    (2)函数名字相同;
    (3)参数不同;
    (4)virtual 关键字可有可无。
    覆盖是指派生类函数覆盖基类函数,特征是:
    (1)不同的范围(分别位于派生类与基类);
    (2)函数名字相同;
    (3)参数相同;
    (4)基类函数必须有virtual 关键字。
[1] [2] [3] 下一页 
【责编:ben】


相关文章 C和C++语言学习总结(一)
C/C++中Static的作用详述
基础入门:并查集UFSet类
动态内存管理是C++重要的特性
基础入门:const修饰常量
编写最有代表意义的qt程序
C编写Windows服务程序详细介绍
编写一个桌面闹钟源程序
用C语言实现按钮新技术
C++中堆和栈的基础学习
编辑推荐 · [ASP.NET].NET程序员新方向 Ruby核心语法入门
· [ASP.NET]基于ASP.NET MVC框架开发Web论坛应用程序
· [ASP.NET]利用UrlRewrite,asp.net动态生成htm页面
· [.NET Framework]DotNet for Symbian平台
· [ASP.NET]WCF 关于自定义MessageHeader支持
· [ASP.NET]如何定制页面提示信息(tooltips)
· [ASP.NET]对IOC和DI的理解
· [ASP.NET]主动编程与被动编程!
· [ASP.NET]发布一个锁定行列的一种方法
· [ASP.NET]使用配置文件构建和使用WCF服务
相关产品和培训 文章评论  友情推荐链接·华硕网络交换机
·金浪网络交换机
·联想交换机报价
·联想交换机价格
·lenovo交换机
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·网站推广优化
·全国IDC报价
 认证培训 · Linux进入紧缺人才培训体系
· 深圳CIW470培训+考试3000元
· No.1高薪热门职业【网络系统集成】
· 全能网管思科微软黄金组合
· “紧缺人才培养计划”上海地区启动
· [上海]交大慧谷CCNP培训特价3990元
 专题推荐 
 ·Java设计模式之实例详解
 ·Oracle数据库11g 面向DBA和开发人员的重要新特性…
 ·桌面应用软件编程 J2SE技术详解…
 ·我“炫”我精彩-------WPF开发教程
 ·Oracle数据库备份与恢复之六大总结
 ·JAVA的应用编程接口——JAVA API详解…
 ·Linux Shell学习技术专题[上]…
 ·WEB开发——ASP.NET和PHP、JSP究竟学哪个
 ·五步带你入门XML
 ·关于Java框架技术专题
 今日更新 · C和C++语言学习总结(二)
· C和C++语言学习总结(一)
· 拷贝构造函数和运算符重载
· 送给正在学习C++朋友的50条建议
· C/C++中Static的作用详述
· 基础入门:并查集UFSet类
· C++数值类型转换方法 心得…
· 自己的不定参数函数的实现方法
· C++图象的渐显/渐隐 实现方法…
· 间接修改指针的地址技巧
 社区讨论  博客论点  频道精选 · 新版CCNA考试大纲 07年8月1日生效
· 新手学习宝典:Linux常用命令全集
· 知已知彼,深入了解系统安全知识
· 从入门到精通 java初学者实践系列教程
· 共同学习——Oracle入门基础专题
· ADO.net与PowerBuilder的综合比较
· 评论:中国互联网“钱”途何在?
· 中科院:龙芯要成"中国奔腾" 能卖1亿颗
 C/C++频道相关导航 C语言: 
基础入门 | 编程技巧 | 实例编程
C++编程: 
基础入门 | 实例编程 |编程技巧
C++开发应用: 
多媒体开发 | 游戏开发 | 数据库开发 | 网络通信 
组件编程 | 系统应用 | 界面开发
资讯动态:
VC++:
C++Builder:
95 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -