![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
水月无梦
这个作者很懒,什么都没留下…
展开
-
C/C++定义常量#define与const比较
<br />1。const定义常量是有数据类型的,而#define宏定义常量却没有。<br />这样const定义的常量编译器可以对其进行数据静态类型安全检查,而#define宏定义的常量却只是进行简单的字符替换,没有类型安全检查,且有时还会产生边际效应(不如你愿处)。所谓边际效应举例如下:<br /><br /> #define N 100<br /> #define M 200 + N<br /> 当程序中使用 M*N 时,原本想要 100 * (2转载 2010-11-18 11:56:00 · 806 阅读 · 0 评论 -
程序员的成长从开窍开始系列 一、如何摆脱低级错误的困扰
原文:程序员的成长从开窍开始系列 一、如何摆脱低级错误的困扰最近,有两位Google Maps API的初学者向我请教他们按照最简单例子写的程序为什么不能正常的运行。其中一位用GTalk跟我交流,我仔细了看了他的代码,没看出问题,把代码保存在本地,打开Firefox的错误控制台,用Firefox打开他的页面。出错的那一行被清晰的显示出来,我再仔细端详那句话,原来有两个应该是英文转载 2014-05-16 15:19:38 · 642 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(转载 2013-05-21 09:03:17 · 524 阅读 · 0 评论 -
C语言 数组长度函数
1.用宏是可以的这样写#define ArraySize(ARR) (sizeof(ARR) / sizeof(ARR[0]))楼上的楼上要加括号的。#include #define ArraySize(ARR) (sizeof(ARR)/sizeof(ARR[0]))intmain(void){int arr[5];printf( "Arr转载 2013-05-06 08:48:53 · 1997 阅读 · 0 评论 -
排序算法总结
按平均时间将排序分为四类:(1)平方阶(O(n2))排序 一般称为简单排序,例如直接插入、直接选择和冒泡排序;(2)线性对数阶(O(nlgn))排序 如快速、堆和归并排序;(3)O(n1+£)阶排序 £是介于0和1之间的常数,即0(4)线性阶(O(n))排序 如桶、箱和基数排序。各种排序方法比较转载 2013-04-25 11:05:21 · 600 阅读 · 0 评论 -
strcpy的缺陷和改进
C++危险的函数 strcpy strncpy即使是让C的创始人来编程,也可能出现把==写成=的错误。好的习惯是避免错误的最好方法。1.strcpy函数原型为char *strcpy(char *dest,const char *src);函数说明:strcpy函数会将参数src字符串拷贝至参数dest所指的地址。参数说明:dest,我们说的出参,最终得转载 2013-04-22 15:57:35 · 3531 阅读 · 0 评论 -
C++与java对比
JAVA和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c++为了照顾大量的C语言使用者, 而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固有缺陷。 Ja原创 2013-04-22 15:50:33 · 610 阅读 · 0 评论 -
C++头文件的包含顺序研究 (转)
一.《Google C++ 编程风格指南》里的观点 《Google C++ 编程风格指南》对于头文件的包含顺序是这样的: Names and Order of Includeslink ▽Use standard order for readability and to avoid hidden dependencies: C library, C++ library, o转载 2012-10-19 09:36:20 · 1077 阅读 · 0 评论 -
vector push_back
申明全局变量std::vector *super_block_cfg_list =0;后要在用到该变量的时候,再次定义super_block_cfg_list = new std::vector();否则会出现push_back异常原创 2012-10-17 15:07:42 · 552 阅读 · 0 评论 -
CC++笔试经典题目 1
1. 以下三条输出语句分别输出什么?char str1[] = "abc";char str2[] = "abc";const char str3[] = "abc"; const char str4[] = "abc"; const char* str5 = "abc";const char* str6 = "abc";cout cout cout 答:分转载 2012-03-08 17:37:29 · 462 阅读 · 0 评论 -
国外程序员整理的 C++ 资源大全
C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++ Standard Li转载 2014-10-27 17:26:51 · 630 阅读 · 0 评论