写的不错,赞一个!
首先关于第三点:强类型、弱类型与无类型。楼主说的太简略,这里斗胆补充一下:无类型是指变量是无类型的,但是变量指向的对象实际上是有类型的。
不过话说回来,虽然说语言的编程范式(如面向对象或者面向过程),跟语言本身不是特别有关系(用面向过程的语言,一样可以编写面向对象的代码),但是这是非常大的语法糖,所以也是一个非常重要的考虑方面。异常处理和泛型编程也是一样的。
另外需要补充几点的是:1. 语言本身的内存管理也是一个非常重要的考虑方面,即是否支持垃圾回收和引用计数。2. 语言的动态程度,这个与楼主的第三点有点重叠,但是支持多大程度的元编程确实是个问题。3. 参数和返回值的传递方式(按值传递还是按引用传递,etc.)。4. 作用域规则
re: 析构过程中内存相关错误的绝大多数原因 Forrest 2010-07-01 21:15
我觉得实际上是你的DLL接口设计有问题,从来就没有见到过接口有使用map的,一般接口的定义只使用C语言的接口,遵守资源谁分配谁释放的原则,如果使用C++的接口的话,比如map,资源的分配释放就分不清楚了.