随笔分类 -  C/C++

摘要:c++ prime 5 ex11_4 代码如下 1.关于main函数中的三个参数 ,ref: int main(int argc,char* argv[])详解 char *argv[]是一个字符数组,其大小是int argc,主要用于命令行参数 argv[] 参数,数组里每个元素代表一个参数;比如 阅读全文
posted @ 2019-02-19 18:19 lightmare 阅读(961) 评论(0) 推荐(0) 编辑
摘要:传送门:1.C++指针详解2.C++函数指针总结 1.在讲这个问题之前,我们要明白一个问题。就是我们为什么要把一个函数的地址作为参数传递给另一个参数。要知道在C语言中,一个函数内部是可以直接调用其他函数的,既然可以直接调用,为什么还要用这么麻烦的办法去把函数当做参数来... 阅读全文
posted @ 2019-02-06 15:18 lightmare 阅读(123) 评论(0) 推荐(0) 编辑
摘要:什么是正则表达式很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不... 阅读全文
posted @ 2019-02-04 22:22 lightmare 阅读(192) 评论(0) 推荐(0) 编辑
摘要:1.大数的加法 语法:add(char a[],char b[],char s[]); 参数: a[]:被加数,用字符串表示,位数不限 b[]:加数,用字符串表示,位数不限 s[]:结果,用字符串表示 返回值... 阅读全文
posted @ 2019-02-04 13:52 lightmare 阅读(1148) 评论(0) 推荐(0) 编辑
摘要:各种位运算的使用 === 1. and运算 === and运算通常用于二进制取位操作,例如一个数 and 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数. === 2. or运算... 阅读全文
posted @ 2019-02-02 20:59 lightmare 阅读(311) 评论(0) 推荐(0) 编辑
摘要:c++引用与指针的区别 ★ 相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 指针的权威定义:In a declaration T D where D has the form * cv-qualifie... 阅读全文
posted @ 2019-01-31 20:09 lightmare 阅读(2238) 评论(0) 推荐(1) 编辑
摘要:1、什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type... 阅读全文
posted @ 2019-01-31 20:09 lightmare 阅读(283) 评论(0) 推荐(0) 编辑
摘要:qsortvoid qsort (void* base, size_t num, size_t size, int (*compar)(const void*,const void*));Sort elements of arraySorts t... 阅读全文
posted @ 2019-01-21 21:05 lightmare 阅读(330) 评论(0) 推荐(0) 编辑
摘要:C++中rand() 函数的用法1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100; 这... 阅读全文
posted @ 2019-01-21 18:49 lightmare 阅读(886) 评论(0) 推荐(0) 编辑
摘要:c++对象模型 视频的实际操作 note:1.虚函数有虚指针,所以是4,不管有几个虚函数,都只有一个vptr来存放调用的虚函数的地址。2.子类的内存是父类内存的加自己的数据内存。3.class类型的动态数组的初始化调用类的默认构造函数。4.sizeof(Foo[5])... 阅读全文
posted @ 2018-08-10 18:39 lightmare 阅读(245) 评论(0) 推荐(0) 编辑
摘要:动态分配数组时,如果数组元素具有类类型,将使用该类的默认构造函数实现初始化; 不能像数组变量一样,用初始化列表为数组元素提供各不相同的初值。如果数组元素是内置类型,则无初始化。也可以使用跟在数组长度后面的一对空圆括号,对数组元素做值初始化。圆括号要求编译器对数组做值初... 阅读全文
posted @ 2018-08-10 17:40 lightmare 阅读(1260) 评论(0) 推荐(0) 编辑
摘要:int类型大小由机器字长决定还是编译器决定,int类型比较特殊,具体的字节数应该是同机器字长和编译器都有关。C、C++标准中只规定了某种类型的最小字节数(防止溢出)。32位系统和64位有什么区别?通常的64位技术是相对32位而言的,这个位数指的是CPU GPRs(Ge... 阅读全文
posted @ 2018-08-09 16:06 lightmare 阅读(3078) 评论(0) 推荐(0) 编辑
摘要:Inheritance+Composition 關係下的構造和析構哪个的ctor先被调用。父类先于组件类调用 构造函数 阅读全文
posted @ 2018-08-07 16:21 lightmare 阅读(140) 评论(0) 推荐(0) 编辑
摘要:在C++中,#include与#include的区别,前者要使用更新的编译器(其实大部分编译器多比较前卫了,出了有些搞嵌入式的用变态的编译器)。标准的C++头文件没有.h扩展名,将以前的C的头文件转化为C++的头文件后,有时加上c的前缀表示来自于c,例如cmath就是... 阅读全文
posted @ 2018-08-07 16:20 lightmare 阅读(650) 评论(0) 推荐(0) 编辑
摘要:看c++面向对象高级开发的课时,操作符重载的问题。出自于c++ primer 5e的一句话:赋值(=)、下标([])、调用(())和成员访问箭头(->)运算符必须是成员(函数)。赋值运算符。我们知道一个c++类,程序员如果没有为其定义了赋值操作符重载函数,编译器也会隐... 阅读全文
posted @ 2018-08-06 17:36 lightmare 阅读(1538) 评论(0) 推荐(0) 编辑
摘要:在很多门课上都接触到race condition, 其中也举了很多方法解决这个问题。于是想来总结一下这些方法。Race condition它旨在描述一个系统或者进程的输出依赖于不受控制的事件出现顺序或者出现时机。此词源自于两个信号试着彼此竞争,来影响谁先输出。 举例来... 阅读全文
posted @ 2018-08-05 13:14 lightmare 阅读(1007) 评论(0) 推荐(0) 编辑
摘要:第一种和第二种没什么区别,一个隐式调用,一个显式调用,两者都是在进程虚拟地址空间中的栈中分配内存,而第三种使用了new,在堆中分配了内存,而栈中内存的分配和释放是由系统管理,而堆中内存的分配和释放必须由程序员手动释放。采用第三种方式时,必须注意一下几点问题: 阅读全文
posted @ 2018-07-29 21:38 lightmare 阅读(542) 评论(0) 推荐(0) 编辑
摘要:一、概述 过程图解如下: 二、编译过程 编译过程又可以分成两个阶段:编译和汇编。 2.1编译 编译是指编译器读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码。 源文件的编译过程包含两个主要阶段: 第一个阶段是预处理阶段,在正式的编译阶段之前进行。预处理阶段将根据 阅读全文
posted @ 2018-07-27 16:14 lightmare 阅读(3782) 评论(0) 推荐(0) 编辑
摘要:怎么调试一个项目。 需要配置好环境。 在一个release版本的环境中,调试要用release-debug版本,一般不用debug版本。 配置类型一般不变。 阅读全文
posted @ 2018-07-19 10:31 lightmare 阅读(542) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示