随笔分类 - C/C++
摘要:我两年前就知道不应该用==号来判断浮点数的相等了,因为存在一个精度的问题,但是一直以来,都没怎么在乎这些东西,而实际上,我对于浮点数的结构,虽然了解,但并不清晰. 作为一个C++爱好者,应该尽量搞清楚每一个问题,所以我搞清楚了浮点数的内在表示及实现.在没有大问题的情况下,一切以易于理解和记忆为标准....
阅读全文
posted @ 2015-07-13 10:24
This_is_bill
摘要:makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,...
阅读全文
posted @ 2015-07-05 08:46
This_is_bill
摘要:最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。 于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。 后记,看完发现这篇文章和《Linux环境下的C编程指南》的makefile一章所讲述的惊人的相似...
阅读全文
posted @ 2015-07-05 07:49
This_is_bill
摘要:const是C语言的关键字,经C++进行扩充,变得功能强大,用法复杂。const用于定义一个常变量(只读变量),当const与指针,引用,函数等结合起来使用时,情况会变得复杂的多。下面将从五个方面总结const的用法。1.const位置const位置较为灵活,一般来说,除了修饰一个类...
阅读全文
posted @ 2015-07-05 00:43
This_is_bill
摘要:以下代码使用平台是Windows7 64bits+VS2012。sizeof作用于基本数据类型,在特定的平台和特定的编译中,结果是确定的,如果使用sizeof计算构造类型:结构体、联合体和类的大小时,情况稍微复杂一下。1.sizeof计算结构体考察如下代码:struct S1{ ...
阅读全文
posted @ 2015-06-15 10:45
This_is_bill
摘要:以下代码使用平台是Windows7 64bits+VS2012。sizeof是C/C++中的一个操作符(operator),其作用就是返回一个对象或者类型所占的内存字节数,使用频繁,有必须对齐有个全面的了解。1.sizeof的基本语法sizeof有三种语法形式,如下: (1)size...
阅读全文
posted @ 2015-06-15 10:18
This_is_bill
摘要:以下代码使用平台是Windows 64bits+VS2012。在C/C++编程时,经常遇到以下几个概念:常量、文字常量、符号常量、字面常量、常变量、字符串常量和字符常量,网上博客资料也是千篇千律,不尽相同,弄得大家云里雾里。本文将尝试为大家捋清楚以上易混淆概念的定义,关系和区别。常量...
阅读全文
posted @ 2015-06-10 22:56
This_is_bill
摘要:以下代码使用平台是VS2012。清楚明白声明与定义是一名合格的程序猿的基本要求。 本人认为,C++编码过程中谈及“声明”和“定义”是因为我们要使用一个变量、类型(类、结构体、枚举、共用体)或者函数,因此有申明和定义变量、类型和函数之说。C/C++中,使用一个变量、类型或者函数必须先在...
阅读全文
posted @ 2015-06-01 15:08
This_is_bill
摘要:*** glibc detected *** malloc(): memory corruption: 0x09eab988 *** 发现是由于memset越界写引起的。 在Linux Server上不好模拟出来:不过若是先malloc,再越界memset,再free此内存块,然后m...
阅读全文
posted @ 2015-05-14 09:22
This_is_bill
摘要:C++中临时对象又称无名对象。临时对象主要出现在如下场景。1.建立一个没有命名的非堆(non-heap)对象,也就是无名对象时,会产生临时对象。 Integer inte= Integer(5); //用无名临时对象初始化一个对象2.构造函数作为隐式类型转换函数时,会创建临时对象,...
阅读全文
posted @ 2015-05-11 23:20
This_is_bill
摘要:导读正确的理解C/C++程序的内存分区,是合格程序猿的基本要求。 网络上流形两大版本内存分区,分别为:1. 五大内存分区:堆、栈、全局/静态存储区、自由存储区和常量存储区。 2. 五大内存分区:堆、栈、全局/静态存储区、字符串常量区和代码区。且不论以上两种分区孰是孰非,孰优孰劣,我认...
阅读全文
posted @ 2015-05-09 01:36
This_is_bill
摘要:浅谈new operator、operator new和placement newC++中使用new来产生一个存在于heap(堆)上对象时,实际上是调用了operator new函数和placement new函数。new即new operator,是C++保留的关键字,我们无法改变...
阅读全文
posted @ 2015-05-05 00:19
This_is_bill
摘要:一个原则是:应该尽量少的使用parallelfor, 因为parallel for也需要时间开销。即: (1)如果外层循环次数远远小于内层循环次数,内层循环较多时,将parallel for加在内层循环。示例代码:int a=0;int b=0;inline void openmpTest2(...
阅读全文
posted @ 2015-04-27 14:48
This_is_bill
摘要:1. 问题 C++如何实现不能被继承的类,即终结类。Java中有final关键字修饰,C#中有sealed关键字修饰,而C++目前还没有类似的关键字来修饰类实现终结类,需编程人员手动实现。2. 解决方法 基本思路:由于任何派生类的对象在创建的时候,都必需在派生类的构造函数中调用父类的构造函数。所...
阅读全文
posted @ 2015-04-06 14:48
This_is_bill
摘要:一、共享内存简介 共享内存是进程间通信中高效方便的方式之一。共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针,两个进程可以对一块共享内存进行读写。 共享内存并未提供进程同步机制,使用共享内存完成进程间通信时,需要借助互斥量或者信...
阅读全文
posted @ 2015-03-26 17:14
This_is_bill
摘要:一、makefile简介定义:makefile定义了软件开发过程中,项目工程编译链、接接的方法和规则。产生:由IDE自动生成或者开发者手动书写。作用:Unix(MAC OS、Solars)和Linux(Red Hat、Ubuntu)系统下由make命令调用当前目录下的makefile文件执行,可实现...
阅读全文
posted @ 2015-03-16 10:11
This_is_bill
摘要:TinyXML2是simple、small、efficient C++ XML文件解析库!方便易于使用,是对TinyXML的升级改写!源码见本人上传到CSDN的TinyXML2.rar资源:http://download.csdn.net/detail/k346k346/8500915,或者到官...
阅读全文
posted @ 2015-03-14 13:29
This_is_bill

浙公网安备 33010602011771号