【小知识记录】
Always__
这个作者很懒,什么都没留下…
展开
-
数据结构----迷宫问题
迷宫问题总共包三个头文件函数(Stack.h,Maze.h,AFXSTD.H),两个cpp函数和一个主函数(main),下面分次介绍出来如何实现及测试后数据和通路。Stcak.h(栈的基本操作函数声明)#define STACK_INIT_SIZE 100#define STACKINCREMENT 10//------------ 栈的顺序存储实现 ------------原创 2015-01-10 22:25:34 · 2003 阅读 · 1 评论 -
【C语言】变长数组与柔性数组
前两天看程序,发现在某个函数中有下面这段程序:int n; //define a variable nint array[n]; //define an array with length n在我所学的C语言知识中,这种数组的定义在编译时就应该有问题的,因为定义数组时,数组的长度必须要是一个大于0的整型字面值或定义为 const 的常量。例如下面这样in转载 2016-05-11 17:34:14 · 4373 阅读 · 0 评论 -
【C语言】整型溢出和整型提升
什么是整型溢出:C语言的整型问题相信大家并不陌生了。对于整型溢出,分为无符号整型溢出和有符号整型溢出。对于unsigned整型溢出,C的规范是有定义的——“溢出后的数会以2^(8*sizeof(type))作模运算”,也就是说,如果一个unsigned char(1字符,8bits)溢出了,会把溢出的值与256求模。例如:unsigned char x = 0xff; pr原创 2016-05-11 01:01:58 · 2528 阅读 · 0 评论 -
C++标准异常类
C++标准库异常类继承层次中的根类为exception,其定义在exception头文件中,它是C++标准库所有函数抛出异常的基类,exception的接口定义如下:namespace std { class exception { public: exception() throw(); //原创 2015-06-29 00:04:28 · 694 阅读 · 0 评论 -
【STL】空间配置器剖析(完结)
内存基本处理工具STL提供了五个全局函数用于处理空间,分别为:1. construct 用于构造;2. destroy 用于析构;3. uninitialized_copy(first, last, result) 将[first,last)范围内的对象复制到result处;4. uninitiated_fill(first, last, X) 将[first,last原创 2016-04-28 11:35:17 · 690 阅读 · 0 评论 -
【STL】空间配置器剖析(三)--内存池
内存池上篇文章的阅读量目前为止竟然高达4000+,让作者真是受宠若惊啊(呃呃呃。毕竟是一只菜鸟啊!)。正文开始咯:内存池上篇文章我们对于对对象构造前的内存配置和对象析构后的空间释放进行深入探索。详细介绍了空间配置器的,第一级空间配置器(malloc_alloc_template),第二级空间配置器(defalult_alloc_template).这篇文章将针对free原创 2016-04-28 09:55:53 · 1594 阅读 · 0 评论 -
线程安全问题理解
线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据===========================================================转载 2016-04-14 09:09:58 · 351 阅读 · 0 评论 -
【STL】空间配置器剖析(二)
上篇文章主要对于对象的构造含和析构进行了主要说明,这篇文章将对对象构造前的内存配置和对象析构后的空间释放进行深入探索。好的,话不多说马上进入是正文:对对象构造前的内存配置和对象析构后的空间释放,由负责,SGI对此的设计哲学如下:向system heap要求空间。考虑多线程的状态考虑内存不足的应变措施考虑过多的“小型区块”可能造成的内存碎片问题C++的内存配置原创 2016-04-25 11:37:28 · 9471 阅读 · 0 评论 -
C/C++文件夹 的操作
通过system();函数调用DOS命令来创建文件夹和删除文件、文件夹。创建文件可以用其文件操作实现。 头文件在stdlib.h或者process.hsystem("md c:\\mydir");//创建一个文件夹 system("rd c:\\mydir");//删除一个文件夹 system("del c:\\test\\myfile.dat");//删除一个文件。原创 2015-07-07 13:34:30 · 1103 阅读 · 0 评论 -
VC6.0修改字体
在VC6.0下更改字体,我们一般通过菜单-Tools-Options-Format来更改但在我的win7 64位系统下这一选项下的字体和字体颜色是空的,无法选择所以我想起来通过注册表来更改。Win+R输入“Regedit”,找到“HKEY_CURRENT_USER/Software/Microsoft/DevStudio/6.0”发现下面没有Format,这也是转载 2015-07-06 22:41:37 · 1165 阅读 · 0 评论 -
C++静态成员小结
类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时转载 2015-07-06 15:36:46 · 474 阅读 · 0 评论 -
初始化类成员变量
类成员的初始化有两种形式1,初始化列表进行成员的初始化。2,利用构造函数进行初始化。前者取决于成员在类中的声明顺序,后者取决于函数内变量的顺序。下面对于两种情况进行代码演示:1.构造函数进行成员初始化class Date{ public: Date(int y,int m,int d); ...... private: int year; int month;原创 2015-06-23 23:13:03 · 760 阅读 · 0 评论 -
真假硬币
101个硬币,其中有一个假的,已知假币重量与真币不同,且真币重量都一样,如何通过无砝码的天平称量两次,知道假币到底是重了还是轻了?方法一分析:将这101枚硬币分成三组,30.30.41.称重30.30,如果相等,则假币在41枚硬币(s1)里面,在刚才那60枚硬币中拿出41枚(s2)称量,如果s1>s2,假币重了,否则轻、如果不相等,则在41枚硬币中拿出30枚(s3),与刚才称量后重量大s4的那原创 2015-04-20 16:15:01 · 1721 阅读 · 0 评论 -
普通位运算
关于位运算,只是针对bit测试,置位或移位处理。这里的比特是针对C语言中的char 和int类型而言因此位运算不能用于其他复杂的类型。如float,double,void等等。#include#includeint main(){ unsigned char result; int a=2; int b=4; int c=6; int d=8; result= a & c原创 2015-02-02 23:31:00 · 472 阅读 · 0 评论 -
csdn问答
CSDN社区的一些问答记录:如题所示,最近看到C语言里面的一个宏定义:#define QMI_SVC_HDLR(cmdval, hdlr) {cmdval, #hdlr, hdlr}实在是看不懂是什么意思,特别是#hdlr,这个是啥意思啊,求大神指导答:fine宏定义中的# (stringizing)字符串化操作符。其作用是:将宏定义中的传入参数名转换成用一原创 2015-02-01 17:05:57 · 877 阅读 · 0 评论 -
(C语言)如何判断是不是文字
一 用ASCLL码范围判断是不是字符1. 在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,根据这个范围可以判断。2. 汉字的 UNICODE 编码范围是4e00-9fbb,根据此范围也可 以判断。原创 2014-12-22 13:15:11 · 1808 阅读 · 0 评论 -
Volatile
就像constant一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。 volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.简单地说就是防止转载 2015-01-29 12:25:02 · 506 阅读 · 0 评论 -
reinterpret_cast类型转换运算符的理解
今天同学在群里发了一篇题,关于reinterpret_cast类型转换的,个人觉得有必要记录一下:题目代码如下:#include using namespace std;class A {public: virtual void func() { cout << "A::func" << endl; } virtual void funcA() { cout << "原创 2016-04-28 18:39:09 · 1029 阅读 · 0 评论