
c
劝君更尽一杯酒
这个作者很懒,什么都没留下…
展开
-
数组未赋值时不能调用
int[] a = new int[10]; System.out.println(a[2]); //会出错,没赋值,数组没有明确的指向,直接调用,编译器会报错原创 2013-09-28 16:28:34 · 1224 阅读 · 0 评论 -
指针常量与常量指针
指针常量与常量指针指针常量是指定义的指针只能在定义的时候初始化,之后不能改变其值,格式如下:【数据类型】【*】【const】【指针常量名称】; 实例如下: 1 char*constp1;2 int*constp2;const 位于指针声明符“*”的右侧,这说明声明的对象是一个常量,而对象的数据类型是指针。所以第一句定义了一个只读的字符型指针p1;第二句定义了一个只读的整原创 2013-09-29 08:38:25 · 683 阅读 · 0 评论 -
C语言中,if语句后面加return 的用法的疑问
有这么一段代码:void xxx(){ if(rs_buf[0]=='$') { for(i=0;i { j=getuartdat(); if(j { rs_buf=(alt_u16)j;原创 2013-09-29 08:37:22 · 13427 阅读 · 1 评论 -
cdecl、stdcall、fastcall函数调用约定区别
http://baike.baidu.com/view/1280676.htm论函数调用约定 在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中转载 2013-09-29 08:36:29 · 631 阅读 · 0 评论 -
const char*, char const* and char *const
Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。 char * const cp; ( * 读成 pointer to ) cp is a const pointer to char const char * p; p is a pointer to const char; char原创 2013-09-29 08:31:00 · 751 阅读 · 0 评论 -
虚函数与纯虚函数区别
虚函数为了重载和多态的需要,在基类中是由定义的,即便定义是空,所以子类中可以重写也可以不写基类中的函数!纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数!虚函数引入原因:为了方便使用多态特性,我们常常需要在基类中定义虚函数。class Cman{public: virtual void Eat(){……};原创 2013-09-29 08:30:20 · 514 阅读 · 0 评论 -
strlen 与sizeof()的区别
strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。 char aa[10];cout char aa[10]={'\0'}; cout char aa[10]="jun"; cout 而sizeof()返回的是变量声明原创 2013-09-29 08:29:29 · 703 阅读 · 0 评论 -
delete p指针
删除p指向的内存。 p成为“野指针”;一般删除后应将p赋值为null。 ----------------------------------------------删除指向的资料,调用析构函数 但也有可能指向的内存内容并未改写 但这段内存已经无效,系统会回收的 而且p也成为野指针,指向的位置并未改变 但指向的位置内容可能已经不正确原创 2013-09-29 08:28:42 · 1107 阅读 · 0 评论 -
java c++ 实现多态(polymorphism)的机制
C++中的虚函数(virtual function)虚函数正是为了对“如果你以基类之指针指向派生类之对象,那么通过该指针只能调用基类所定义之成员函数”这条规则反其道而行的设计java的多态可以看成横向的overload(重载) 和纵向的override(覆盖) 1、通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。 DerivedC c2原创 2013-09-29 08:41:48 · 1096 阅读 · 0 评论 -
内存 堆 栈
C++作为一款C语言的升级版本,具有非常强大的功能。它不但能够支持各种程序设计风格,而且还具有C语言的所有功能。我们在这里为大家介绍的是其中一个比较重要的内容,C++内存区域的基本介绍。C++内存区域分为5个区域。分别是堆,栈,自由存储区,全局/静态存储区和常量存储区。栈:由编译器在需要的时候分配,在不需要的时候自动清除的变量存储区。里面通常是局部变量,函数参数等。堆:由n原创 2013-09-29 08:40:44 · 633 阅读 · 0 评论 -
>>与>>>
>>有符号右移>>>无符号右移原创 2013-09-29 08:24:11 · 682 阅读 · 0 评论 -
3乘以16的最高效率
3 b原创 2013-09-28 10:31:47 · 826 阅读 · 0 评论 -
x+++++x
public class Static{ static { int x = 5; } static int x,y; public static void main(String args[]){ x-- ; myMethod();原创 2013-09-28 16:30:00 · 1405 阅读 · 0 评论 -
c语言中冒泡排序、插入排序、选择排序算法比较
掌握好常用的排序算法,在实际的项目开发中可以节省很多的时间。每一种排序算法在执行的效率上是存在差别的,这些微小的时间差,也许在平常的联系当中感觉不到,但是涉及到数据量比较大或者是在资源比较紧张的系统中就显得尤其的重要,比如嵌入式系统。下面简要介绍三种常用的排序算法以及他们的执行效率的比较。 冒泡排序: 思路:将相邻的两个数比较,将较小的数调到前头;有n个数就转载 2017-02-11 14:41:29 · 1013 阅读 · 1 评论