
c/c++
文章平均质量分 88
似水流年
从事开发工作超过15年的it老兵,依然奋斗在一线开发。
工作中于JAVA和微软的.net开发为主,当前主要方向物联网+智慧城市
展开
-
高质量c/c++编程(2)
第2章 程序的版式 版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要构成因素。可以把程序的版式比喻为“书法”。好的“书法”可让人对程序一目了然,看得兴致勃勃。差的程序“书法”如螃蟹爬行,让人看得索然无味,更令维护者烦恼有加。请程序员们学习程序的“书法”,弥补大学计算机教育的漏洞,实在很有必要。2.1 空行空行起着分隔程序段落的原创 2007-06-21 14:44:00 · 1279 阅读 · 1 评论 -
高质量c/c++编程(6)
第6章 函数设计函数是C++/C程序的基本功能单元,其重要性不言而喻。函数设计的细微缺点很容易导致该函数被错用,所以光使函数的功能正确是不够的。本章重点论述函数的接口设计和内部实现的一些规则。函数接口的两个要素是参数和返回值。C语言中,函数的参数和返回值的传递方式有两种:值传递(pass by value)和指针传递(pass by pointer)。C++ 语言中多了引用传递(pa原创 2007-06-21 14:50:00 · 1387 阅读 · 0 评论 -
iphone开发随笔-对c 指针的补充
最近在看object c,因为c放置很长一段时间了,对指针这么多年更是不曾使用,已经习惯了没有指针的日子,现在只能重新看一下了。记得上大学的时候,可能是有些老师把指针描述的太过深奥,亦或者是自己不够用心,想起来总有些遗憾。我也曾自学过很长一段c++,但说实在的,学得不过是皮毛而已。这两天重新学习了指针方面的知识,这篇博客是我感觉写的不错的,相对更容易理解。指针是C语言中广泛使用的一种数据类型。 运原创 2012-01-08 13:38:48 · 6625 阅读 · 12 评论 -
java中的引用和C++中的指针的区别我的理解
1.类型:引用其值为地址的数据元素,java封装了的地址,可以转成字符串查看,长度可以不必关心。C++指针是一个装地址的变量,长度一般是计算机字长,可以认为是个int。2.所占内存: 引用声明时没有实体,不占空间。C++指针如果声明后会用到才会赋值,如果用不到不会分配内存。3.类型转换:引用的类型转换,也可能不成功,抛异,或者IDE就不能通过。C++指针只是个内存地址,指向那里,对程序来说还都是一转载 2012-01-11 10:27:37 · 1420 阅读 · 0 评论 -
C#调用C++Dll封装时遇到的一系列问题
在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问题,尤其是传递和返回字符串是,现总结一下,分享给大家:VC++中主要字符串类型为:LPSTR,LPCSTR, LPCTSTR, string, CString, LPCWSTR, LPWSTR等但转为C#类型却不完全相同。主要有如下几种转换:将string转为IntPtr:IntPtr System.Runtime.InteropS转载 2012-04-24 10:23:14 · 4870 阅读 · 0 评论 -
C#调用C++Dll封装时遇到的一系列问题(2)
最近帮底层开发的同时用C#重新封装一下dll,也就是用C#类来封装C++Dll里的方法,以供用户使用。之前也用到过类似的应用,大多数问题都出在类型转换上,但是这次的应用层出不穷,所以在这里总结一下,以供自己以后查阅,也希望对大家能够有所帮助。 首先,重复一下一些基本使用方法。具体的那些方式在这里就不重复讲了,网上很多的。比如http://blog.youkuaiyun.com/sunboyljp/archi转载 2012-04-24 10:24:41 · 1891 阅读 · 0 评论 -
开发随笔-恢复下自己vc的技术(同时想学习vc++的可以看看了,有些感慨)
最近项目的原因,需要使用vc++了,工作这几年来,一直用的是c#,突然用vc++,心里还是有点打鼓。大学的时候心态比较浮躁,虽然学了不少所谓的新技术,在vc++上也坚持自学了2-3年的时间,c/c++基础,windows 编程,vc基础,vc示例也自己动手做过不少,但心里总感觉学得不好。唉,笨人一个呗。 工作几年后,回头看vc++,mfc框架,真的感觉理解得好太多了,看来大学几年自己的辛苦也原创 2012-05-09 10:58:57 · 2091 阅读 · 0 评论 -
GIS 系统开发
最近在做一个煤矿的三维项目,其中矿区的总体展示部分想采用gis技术,把矿区的总体展示,以及矿区内部的关键设备可以在矿区图上按实际的位置显示,支持一些关键算法,比如避灾路线之类的,如果有地质面的动态展示之类的最好了。 现在的实现技术并没有采用gis技术,而是用virtools+vc模拟实现了类似gis的功能,但是巷道图以及关键的设备显示并不准确,避灾路线也没办法动态生成。自己琢磨过gis技术后,总原创 2012-06-03 17:35:59 · 16192 阅读 · 5 评论 -
高质量c/c++编程(3)
第3章 命名规则比较著名的命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p。如果一个变量由ppch开头,则表明它是指向字符指针的指针。“匈牙利”法最大的缺点是烦琐,例如int i, j, k; float x, y, z;倘若采用“匈原创 2007-06-21 14:47:00 · 1534 阅读 · 1 评论 -
高质量c/c++编程-附录
附录A :C++/C代码审查表 文件结构 重要性 审查项原创 2007-06-21 14:57:00 · 2116 阅读 · 0 评论 -
高质量c/c++编程(4)
第4章 表达式和基本语句读者可能怀疑:连if、for、while、goto、switch这样简单的东西也要探讨编程风格,是不是小题大做?我真的发觉很多程序员用隐含错误的方式写表达式和基本语句,我自己也犯过类似的错误。表达式和语句都属于C++/C的短语结构语法。它们看似简单,但使用时隐患比较多。本章归纳了正确使用表达式和语句的一些规则与建议。4.1 运算符的优先级原创 2007-06-21 14:48:00 · 1632 阅读 · 0 评论 -
高质量c/c++编程(8)
第8章 C++函数的高级特性对比于C语言的函数,C++增加了重载(overloaded)、内联(inline)、const和virtual四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const与virtual机制仅用于类的成员函数。 重载和内联肯定有其好处才会被C++语言采纳,但是不可以当成免费的午餐而滥用。本章将探究重载和内联的优点与局限性,说明原创 2007-06-21 14:53:00 · 1584 阅读 · 0 评论 -
高质量c/c++编程(1)
第1章 文件结构每个C++/C程序通常分为两个文件。一个文件用于保存程序的声明(declaration),称为头文件。另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。C++/C程序的头文件以“.h”为后缀,C程序的定义文件以“.c”为后缀,C++程序的定义文件通常以“.cpp”为后缀(也有一些系统以“.cc”或“.cxx”为后缀)。原创 2007-06-21 14:43:00 · 1670 阅读 · 0 评论 -
高质量c/c++编程(5)
第5章 常量 常量是一种标识符,它的值在运行期间恒定不变。C语言用 #define来定义常量(称为宏常量)。C++ 语言除了 #define外还可以用const来定义常量(称为const常量)。5.1 为什么需要常量 如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦?(1) 程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意思原创 2007-06-21 14:49:00 · 1358 阅读 · 0 评论 -
高质量c/c++编程(7)
第7章 内存管理 欢迎进入内存这片雷区。伟大的Bill Gates 曾经失言:640K ought to be enough for everybody — Bill Gates 1981程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本章的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地原创 2007-06-21 14:52:00 · 1371 阅读 · 0 评论 -
高质量c/c++编程(9)
第9章 类的构造函数、析构函数与赋值函数构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意,其实这些貌似简单的函数就象没有顶盖的下水道那样危险。 每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)。对于任意一个类A,如果不想编写上述函数,C++编译器将自动为A产生四个缺省的函数,如原创 2007-06-21 14:54:00 · 1347 阅读 · 0 评论 -
高质量c/c++编程(10)
第10章 类的继承与组合 对象(Object)是类(Class)的一个实例(Instance)。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象设计的重点是类的设计,而不是对象的设计。对于C++程序而言,设计孤立的类是比较容易的,难的是正确设计基类及其派生类。本章仅仅论述“继承”(Inheritance)和“组合”(Composition)的概念。注意,当前面向对象原创 2007-06-21 14:55:00 · 1445 阅读 · 0 评论 -
高质量c/c++编程(11)
第11章 其它编程经验11.1 使用const提高函数的健壮性看到const关键字,C++程序员首先想到的可能是const常量。这可不是良好的条件反射。如果只知道用const定义常量,那么相当于把火药仅用于制作鞭炮。const更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const是constant的缩写,“恒定不变”的意思。被const修饰的东西都受到强制保护,可原创 2007-06-21 14:55:00 · 1547 阅读 · 0 评论 -
开发随笔-学习c++的思考,没有mfc,该怎么做??
因为最近项目的原因,这段时间特意把c++的书翻了出来,开始恢复c++了。c++因为在学校学习的时候感觉很困难,这也是我毕业后选择.net的原因之一了。因为项目是在windows下开发,主要是虚拟现实方面的应用,主要就是利用vc++ mfc跟虚拟现实软件 virtools sdk打交道。毕竟以前用过c++,恢复起来还是比较快的。c++基础->>windows32 api编程->>vc++ mfc,找原创 2012-05-25 14:55:57 · 6397 阅读 · 1 评论