
高质量编程
文章平均质量分 81
柯南lyz
这个作者很懒,什么都没留下…
展开
-
使用const 提高函数的健壮性
看到const 关键字,C++程序员首先想到的可能是const 常量,这可不是良好的条件反射。如果只知道用 const 定义常量,那么相当于把火药用于制作鞭炮。Const 更大的魅力是它可以修饰函数的参数和返回值,甚至函数的定义体。用const 修饰函数的参数 如果参数用于输出,不论它是什么数据类型,也不论它采用“指针传递”还是“引用传递”,都不能参加const原创 2014-02-19 20:32:29 · 673 阅读 · 0 评论 -
内存对齐
在我们的程序中,数据结构还有变量等等都需要占有内存,在很多系统中,它都要求内存分配的时候要对齐,这样做的好处就是可以提高访问内存的速度。 我们还是先来看一段简单的程序: 程序一 1 #include 2 using namespace std; 3 4 struct X1 5 { 6原创 2014-04-08 17:28:50 · 452 阅读 · 0 评论 -
栈区和堆区内存分配区别
一直以来总是对这个问题的认识比较朦胧,我相信很多朋友也是这样的,总是听到内存一会在栈上分配,一会又在堆上分配,那么它们之间到底是怎么的区别呢?为了说明这个问题,我们先来看一下内存内部的组织情况.从上图可知,程序占用的内存被分了以下几部分.1、栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等,内存的分配是连续的,类似于平时我们所说转载 2014-04-10 23:18:51 · 580 阅读 · 0 评论 -
Linux网络编程必看书籍推荐
首先要说讲述计算机网络和TCP/IP的书很多。 先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属Andrew S.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。目前已经是第五版,本书作者80年代就开发出MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。而转载 2014-04-10 23:07:08 · 559 阅读 · 0 评论 -
NAN和INF产生与处理
C语言当中的nan表示not a number,等同于 #IND:indeterminate (windows)产生:对浮点数进行了未定义的操作;对负数开方,对负数求对数,0.0/0.0,0.0*inf、inf/inf、inf-inf这些操作都会得到nan。(0/0会产生操作异常;0.0/0.0不会产生操作异常,而是会得到nan);在GNU中,使用宏:float NAN对浮点数赋值;判定:库函数方...转载 2018-03-29 17:37:05 · 10336 阅读 · 0 评论