加载中
C++中const修饰二级指针(从类型‘int**’到类型‘const int**’的转换无效)

先上代码: void func(const int ** arg) { } int main(int argc, char **argv) {   int **p;   func(p);   return 0; } 这个代码用gcc编译会出现这样的错误: main.cpp: 在函数‘int main(in...

2013/04/17 00:15
3.3K
C++中复制构造函数和隐式转换

隐式转换可能发生在对象的初始化中(包括由赋值间接产生的初始化),不可能由赋值直接产生 #include <iostream> using namespace std; class MyClass { public: MyClass(); MyClas...

数组和指向数组的指针

#include <stdio.h> int main(void) {   char a[] = {1, 2};   char *p = a;   printf("a: %p\n", a); // 数组第一个元素的地址   printf("a + 1: %p\n", a + 1); // 数组第二个元素的地址   pri...

程序的内存分布

图1做了简单的说明(Linux系统下的): 图1 左边的是UNIX/LINUX系统的执行文件,右边是对应进程逻辑地址空间的划分情况。 1.堆栈区(stack),堆栈是由编译器自动分配释放 ,存放函数的参数值,局...

2011/04/23 17:16
814
c和c++中const的区别

C++中的const正常情况下是看成编译期的常量,编译器并不为const分配空间,只是在编译的时候将期值保存在名字表中,并在适当的时候折合在代码中 在C语言中:const int size;这个语句是正确的,因为...

2011/01/11 00:43
1.3K
释放内存为什么要用二级指针

malloc和free: char * p = (char *)malloc(10); free(p); opencv中: CvMat * mat = cvCreateMat(600, 800, CV_8UC3); cvReleaseMat(&mat); // 这里为什么要用mat的地址,为什么不直接用mat...

c/c++进程中栈的最大值问题

在Linux下用ulimit -s查看max stack size为8192KB 而我用程序测试了一下,大概为10M,这是为什么呢 #include <stdio.h> int main(int argc,char *argv[]) {   char a[10475760]; //略小于1...

2011/05/27 20:19
718
static_cast,const_cast,dynamic_cast,reinterpret...

标准C++不仅支持C风格类型转换符,还定义了以下四种类型转换符: static_cast const_cast dynamic_cast reinterpret_cast 定义这些类型转换符是为了提供更好的类型检查。 一、C风格类型转换符...

freopen重定向

freopen("in.in","r",stdin); freopen("out.out","w",stdout);

2011/03/29 19:37
175
变量命名规范

感谢开源中国的javakf a 数组 b 布尔型 c 字符 e 枚举 cb 字节计数 cr 颜色参考值 n 带符号短整形 i 带符号整形 u 无符号整形 l 带符号长整...

2011/01/11 19:11
504
const的位置

1.指向常量的指针 const 类型 * 指针名 或者 类型 const * 指针名 特点:不能修改指向的对象的值,可以修改指针的指向 int var1=1; const int var2=2; const int * p1=&var1; cons...

2011/01/11 00:00
464
c/c++中的引用变量

类型 & 引用名=对象名 说明:引用仅仅是对象的别名,不开辟新的内存空间 例: int a=1; int & b=a; cout<<&b<<endl<<&a<<endl; //输出的结果是一样的...

volatile

volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加v...

2011/01/10 23:07
134
printf格式

格式为:%[flags][width][.perc][F|N|h|l]type 1.type %d 有符号10进制整数 %i 有符号10进制整数 %o 无符号8进制整数 %u 无符号10进制整数 %x ...

2011/01/10 19:38
836
C/C++基本数据类型

类型标识符 类型说明 长度 (字节) 范围 备注 char 字符型 1 -128 ~ 127 -27 ~ (27 -1) unsigned char 无符字符型 1 0 ~ 255 0 ~ (28 -1) short int 短整型 2 -32768 ~ 32767 2-15 ~ (215 -...

指针数组和数组指针

//注意指针数组和数组指针分别是如何指向二维数组的 #include <stdio.h> main() { static int m[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};/* 定义二维数组m并初始化*/ int (*p)[4];...

2011/01/10 15:51
244
微软c标准库中字符串操作源代码

位置:VC\crt\src (crt C RunTime library) char * strcat(char * dst, const char * src) { char * cp = dst; while(*cp) { cp++; /* find end of dst */ } while (*cp++ = *src++); /* Cop...

c语言中的位运算

& 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1...

2011/01/04 23:01
111
static静态

面向过程 1.静态全局变量:自动初始化为0,在文件外不可访问(隐藏) 2.静态局部变量:自动初始化为0,在文件外不可访问 3.静态函数 :在文件外不可访问(隐藏) //文件test.cpp void f(){...

char指针与数组

1.char * p="what";其实是const char * p="what",字符串的值是不能修改的 2.char []="what";字符串的值是可以修改的

2011/01/03 00:45
498

没有更多内容

加载失败,请刷新页面

返回顶部
顶部