C++释难解惑(1)
来源:互联网 发布:matlab 离散数据 fft 编辑:程序博客网 时间:2024/05/28 15:18
一些很基础的知识,复习、重温。
1、const修饰符最重要的用途是:函数传参和类继承;
void gun(const struct bigSize *p);
用指针传参,且确保通过形参不会改变主调函数的数据。
2、应用程序与内存的关系
代码区:应用程序的指令集合
数据区:外部变量和内部静态变量;
栈区:函数执行时放函数的形参和auto型变量;
堆区(自由存储区域或内存池):当前的应用程序和其他进程的应用程序使用;动态内存分配;
3、new和delete
动态内存的分配和撤销是通过标准函数malloc和free来实现。
堆对象是通过new和delete生成和撤销。
4、内联函数-inline
适合设置为inline的函数:函数体内的语句数量较少,函数名字在源程序里出现的次数也不是很多,实际调用次数却很多。
内联函数的实质:函数定义后,编译器将其编译成一个指令集合。这个指令结合在程序运行时会出现在内存的代码区里,并且在调用到此函数时程序执行的地址会跳转到这个集合的入口地址,指令集合执行完后,再跳转到主调函数。如果用inline声明函数,则编译器不创建真实函数,而只将inline函数的指令集合复制到主调函数中的调用位置,函数调用跳转不存在。
5、有关引用
引用实际是作为指针变量来对待。
引用的主要用途是函数传参。
const引用,确保被调函数不会改变主调函数数据的值。
- C++释难解惑(1)
- 《C++语言释难解惑》作者敬告读者(1)
- C++释难解惑(2)
- C++释难解惑(3)
- 《C++语言释难解惑》作者敬告读者(2)
- 书稿《C++释难解惑》(C++130个问题)已上传到CSDN,欢迎下载
- Picture Numeric Format Strings(我很难解释大家自己看)
- 难解的编译错误(一)
- 难解的编译错误(二)
- 解读:《C语言解惑》中的难解的指针
- PHP 难解
- javascript难解基础知识
- 难解的三元二次方程组。
- 过年回家真是难解决
- Vijos P1369难解的问题
- Vijos P1369难解的问题
- VIJOS-P1369 难解的问题
- 1:java的jdk导入需要的证书就解决了,2:写个方法,在连接之前免验证证书【比较难解决】
- SDP 协议分析
- Codeforces Beta Round #29 (Div. 2, Codeforces format), problem: (C) Mail Stamps 图论
- Java之美[从菜鸟到高手演练]之Linux篇——压缩及解压缩命令tar的使用
- 蛇年谈程序员发展之路
- 使用 SCons 轻松建造程序
- C++释难解惑(1)
- 面试官的32个开放式问题
- Attribute在.net编程中的应用
- Asp.net下获取JSON数据代码
- C#同一窗口通过一个按键切换显示不同画面
- svn: PROPFIND request failed on '/svn/trunk/xxx' svn: PROPFIND of '/svn/trunk/xxx': Could not create
- 深入了解OpenOffice.org(三)-- OpenOffice.org中的XML应用
- 文字池是什么意思?
- 4行CSS实现表格内容超过一行的部分,用省略号代替