- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 C++名称空间
在C++中,名称可以是变量、函数、结构、枚举、类以及类和结构的成员等。关于一般名称的特点,右转博文:引入名称空间之前C++变量和函数的存储方案及特点————————————————————————————————————————————————————————— 传统的名称空间属性声明区域: 声明区域是可以在其中进行声明的区域。例如,外部(全局)...
2017-05-31 21:46:11 1383
原创 C++动态内存分配
动态内存分配(Dynamic Memory Allocation)所谓动态内存分配就是在程序执行过程中动态地分配或回收存储空间的内存分配方法。动态内存分配由系统根据程序的需要即时分配内存,与之相对的静态内存分配是编译器在程序执行前为程序中的各种变量分配好存储空间。通常,编译器使用四种独立的内存:一块用于存放代码,一块用于静态变量(可能再细分),一块用于自动变量,另一块用于动态存储。C+
2017-05-29 08:43:10 506
原创 引入名称空间之前C++变量和函数的存储方案及特点
变量变量存储方案自动存储持续性静态存储持续性线程存储持续性动态存储持续性作用域链接性单定义规则自动变量寄存器变量静态变量静态外部变量静态内部变量静态局部变量函数语言链接性关键字volatile和mutablevolatilemutable
2017-05-16 23:54:34 436
原创 从汇编语言进一步了解C++三种函数参数传递方式
前言:本文为另一篇博文中对函数参数传递方式的进一步探讨,部分内容涉及汇编语言,但不影响理解。编译器对函数调用的实现过程:计算机对数据的处理是不断寻址、读写数据的过程。上升到程序层面,一个个函数在汇编语言中就是一段段汇编指令,这些汇编指令让计算机通过寄存器在内存中访问指定内存块地址并从中读写数据。除全局变量和其它一些形式定义的变量外,函数中的变量都存在栈内存中,程序对变量的修改、传递等一系列操作都是寄存器通过将内容或地址进栈、出栈来实现的。
2017-05-10 13:17:15 1877 1
原创 C++函数参数传递的一大利器——引用(左值)
前言:本文只浅显地介绍了三种函数参数传递的方式及其优劣,主要目的是为了介绍引用。在另一篇博文中将会用本文中的主要代码反汇编为汇编代码,从编译器处理函数调用的层面更深入地探讨三种函数参数传递的区别。C++函数参数传递方式:一、按值传递二、按指针传递三、按引用传递引用的定义、特点、优势
2017-05-08 22:53:58 3090
原创 刘汝佳《算法竞赛入门经典(第二版)》习题(六)
刘汝佳《算法竞赛入门经典(第二版)》第四章习题(4-1~4-3)习题4-1 象棋(Xiangai,ACM/ICPC Fuzhou 2011,UVa1589)考虑一个象棋残局,其中红方有n(2≤n≤7)个旗子,黑方只有一个将。红方除了有一个帅(G)之外还有3种可能的棋子:车(R),马(H),炮(C),并且需要考虑“蹩马腿”与将和帅不能照面(将、帅如果同在一条直线上,中间又不隔着任何棋
2017-05-07 16:52:32 1760 1
原创 基于范围的for循环(C++11)
C++11新增了一种循环:基于范围的for循环。这简化了一种常见的循环任务:对数组(或容器类,如vector和array)的每个元素执行相同的操作,如下例所示: double prices[5] = {4.99, 10.99, 6.87, 7.99, 8.49}; for (double x: prices) cout 其中,x最初表示数组prices的第
2017-05-02 22:35:20 1889 2
原创 刘汝佳《算法竞赛入门经典(第二版)》习题(五)
刘汝佳《算法竞赛入门经典(第二版)》第三章习题(3-9~3-12)习题3-9 子序列(UVa10340)习题3-10 盒子(ACM/ICPC NEERC 2004,UVa1587)习题3-11 换低挡位置(ACM/ICPC NEERC 2006,UVa1588)习题3-12 浮点数(UVa11809)
2017-05-01 18:02:58 2681
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人