gaosaixing的博客

站的高,看得远

“指向字符串常量的字符指针不可更改字符串的内容” 敲黑板,划重点了!!!

一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回 收。注意它与数...

2019-03-30 22:05:30

阅读数 55

评论数 0

二维数组与指针、指针数组、数组指针的用法

二维数组和指针⑴ 用指针表示二维数组元素。要用指针处理二维数组,首先要解决从存储的角度对二维数组的认识问题。我们知道,一个二维数组在计算机中存储时,是按照先行后列的顺序依次存储的,当把每一行看作一个整体,即视为一个大的数组元素时,这个存储的二维数组也就变成了一个一维数组了。而每个大数组元素对应二维...

2018-03-12 18:16:20

阅读数 29331

评论数 4

const的作用

1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了; (2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const; (3)在一个函数声明中,const可以修饰...

2017-10-07 22:18:50

阅读数 81

评论数 0

static 的作用

1、限制函数、变量的作用域(隐藏)的作用。 未加static前缀的全局变量和函数都具有全局可见性,其它的源文件也能访问。 如果加了static,就会对其它源文件隐藏。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。static可以用作函数和变量的前缀,对于函数来讲,s...

2017-10-07 22:09:33

阅读数 133

评论数 0

宏定义、内联函数、普通函数的区别

一、宏定义和内联函数的区别 1. 宏定义不是函数,但是使用起来像函数。预处理器用复制宏代码的方式代替函数的调用,省去了函数压栈退栈过程,提高了效率。     内联函数本质上是一个函数,内联函数一般用于函数体的代码比较简单的函数,不能包含复杂的控制语句,while、switch,并且内联...

2017-10-07 21:26:24

阅读数 184

评论数 0

c++中assert函数的用途

(1)assert函数定义在 assert.h函数中,作用用来检查条件的合法性,如果不成立,则则终止程序执行,原型定义:#include assert.h>void assert( int expression );  assert的作用是现计算表达式 expression , ...

2017-10-06 10:02:48

阅读数 223

评论数 0

C++中虚函数工作原理和(虚)继承类的内存占用大小计算

C++中虚函数工作原理和(虚)继承类的内存占用大小计算 标签: 工作c++class编译器fun 2012-08-19 17:30 52608人阅读 评论(49) 收藏 举报  分类: 面试珠玑(84)  版权声明:本文为博主原创文章,未经博主允许不得...

2017-09-27 22:37:53

阅读数 69

评论数 0

重载、重写、隐藏

派生类是否继承基类的虚函数? ebjhg11级分类:C/C++语言被浏览179次2013.06.16 定义为virtual的函数是基类期待派生类重新定义的,基类希望派生类继承的函数不能定义为虚函数. 如果派生类没有重定义某个虚函数,则使用基类中定义的版本. ---- 4th...

2017-09-26 09:45:10

阅读数 85

评论数 0

C++中多线程面试经典问题

1、基本概念         详见:线程和进程关系和区别、同步和互斥、进程间通信 2、以下多线程对int型变量x的操作,哪几个不需要进行同步(D)         A. x=y;      B. x++;    C. ++x;    D. x=1;         详见:多线程...

2017-09-17 21:01:34

阅读数 1247

评论数 0

try-catch-throw

1、try-catch语句可以和throw语句不在一个函数中; 2、一个try语句后面可以跟若干个catch语句,但是一个函数不可以只有try语句,而没有catch语句;

2017-09-17 19:28:29

阅读数 106

评论数 0

C/C++ 中的 volatile 关键字

1. 为什么用volatile?     C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Language" 对 volatile ...

2017-09-15 09:23:29

阅读数 144

评论数 0

把一个数组排序为最小的值

#include #include #include #include #include using namespace std; static bool cmp(int a, int b)//这里的 cmp函数sort中的比较函数compare要声明为静态成员函数或全局函数,不能作为...

2017-09-04 17:27:53

阅读数 92

评论数 0

atoi函数和itoa函数用法

表头文件: #include 定义函数: int atoi(const char *nptr); 函数说明: atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0‘)才结束转换,并将结果返回。 返回值:   返回...

2017-09-04 14:32:39

阅读数 381

评论数 0

字母二十六进制与十进制数之间的转化

字母表示十进制数: a 1 b2 aa 27 ab  28 huawei 104680767 输入参数是字符串,字母必须是小写,输入的字母最小是1位,最大是6位,输入十进制数不超过32位整数的最大值,判断字符串的有效性,如果无效,输出“”ERROR” 输出描述:输入是十进制数,输出是...

2017-08-31 17:06:20

阅读数 2727

评论数 0

sscanf和sprintf函数的用法

sscanf和sprintf是scanf和printf家族的一对成员,用于处理和分析字符串非常强大的两个函数。 头文件 stdio.h 原型 [cpp] view plain copy int sscanf(       const char ...

2017-08-30 15:02:55

阅读数 219

评论数 0

查找一个有序数组中某一数值出现的次数

#include #include #include #include #include using namespace std; int Gfindf(vectordata, int k) { if (data.empty())return -1; int len = data.size()...

2017-08-29 15:57:54

阅读数 488

评论数 0

对于多进程,子进程继承了父进程的内容

子进程继承父进程 用户号UIDs和用户组号GIDs环境Environment堆栈共享内存打开文件的描述符执行时关闭(Close-on-exec)标志信号(Signal)控制设定进程组号当前工作目录根目录文件方式创建屏蔽字资源限制控制终端 子进程独有 进程号PID不同的父进程号...

2017-08-28 11:37:13

阅读数 1917

评论数 0

c++ 中getline 用法

getline(istream &in, string &s) 从输入流读入一行到string s •功能: –从输入流中读入字符,存到string变量 –直到出现以下情况为止: •读入了文件结束标志 •读到一个新行 •达到字符串的...

2017-08-25 17:03:03

阅读数 197

评论数 0

c++中find函数解析

++ 总述:       以下所讲的所有的string查找函数,都有唯一的返回类型,那就是size_type,即一个无符号整数(按打印出来的算)。若查找成功,返回按查找规则找到的第一个字符或子串的位置;若查找失败,返回npos,即-1(打印出来为4294967295)。 1.fine...

2017-08-24 18:18:17

阅读数 395

评论数 0

c++中stringstream 类的用法及字符串与数字之间转化

iostream标准库支持对于内存的输入输出,只要将流与存储在程序内存中的string对象捆绑在一起,就可以使用通用的输入输出操作符来读写string对象!标准库中定义了三种类型的字符串流: istringstream,由istream派生出来的,用于读一个string的对象; ostring...

2017-08-23 18:45:37

阅读数 1661

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭