`
junfeng_feng
  • 浏览: 18384 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C++ 可以声明非常量大小的数组

 
阅读更多
#include<iostream>
using namespace std;

int main()
{
    uint32_t size;
    cin >> size;
    int arr[size];
    printf("size address::%x\n", &size);
    printf("array address::%x\n", &arr[0]);
    return 0;
}

这段代码,可以编译通过。可以在栈上开辟一个运行时才知道大小的数组。(参考:http://ericwang.github.com/c_cpp/2010/02/10/c_Variable_length_arrays.html)

可能是我太孤陋了,竟然不知道什么时候G++已经支持这个特性了。

我的机器输入1,程序输出是:

1
size address::bffff54c
array address::bffff520


分享到:
评论

相关推荐

    C++动态数组类模板

    //重载[],使Array可以起到普通C++数组的作用 operator T* (void)const; //重载T*,使Array可以起到普通C++数组的作用 int ListSize(void)const; //取数组的大小 void Resize(int sz); //修改数组大小 private: ...

    一组新的多维数组模板类

    员自己有办法,利用C++的模板,运算符重载等技巧,完全可以构建出方便实用的多维数组类 我抢在明年之前做出这组模板类,也希望即使新标准增加了变量大小的多维数组,我的工 作也仍有一些意义, :) 另外,多维数组...

    数组的初始化可以通过以下两种方式

    在多数编程语言中,数组的初始化可以通过以下两种方式进行: 1. 声明时赋初值: ```c++ int nums[] = {1,2,3,4,5}; ``` 这样就创建了一个长度为 5 的数组,包含了所给出的初始值。 如果是 C++11 及其以上版本,...

    才C#于C++的差别

    C#于C++的差别 下表包含 C# 和本机 C++(它不使用 /clr)之间的重要比较信息。...声明 C# 数组的语法不同于声明 C++ 数组的语法:在 C# 中,“[]”标记出现在数组类型之后,而非变量之后。 。。。。。

    C++实践数组类运算的实现参考

    【项目-数组类运算的实现】 设计数组类Array,为了实现测试函数中要求的... //数组大小(元素个数) public: //成员函数声明 }; //要求测试函数能够运行出正确、合理的结果: int main() { int a[8]= {1,2,3,4,5,6

    图文详解c/c++中的多级指针与多维数组

    首先先声明一些常识,如果你对这些常识还不理解,请先去弥补一下基础知识:  1、实际上并不存在多维数组,所谓的多维数组本质上是用一维数组模拟的。  2、数组名是一个常量(意味着不允许对其进行赋值操作),其...

    新手学习C++入门资料

    C++函数的原型中可以声明一个或多个带有默认值的参数。如果调用函数时,省略了相应的实际参数,那么编译器就会把默认值作为实际参数。可以这样来声明具有默认参数的C++函数原型: #include iostream.h void show...

    链表啊,数组 啊,哈希表啊

    安全数组,可自动增长大小(随机访问,但扩充时效率低) linkedlist.h: 普通链表(可随机访问,但访问效率低) dclinkedlist: 双向循环链表(不可随机访问,但插入、遍历的效率都比普通链表高) ...

    aybook.cn_c++jiaocheng0105.rar

    2.8 函数的参数 2.9 输出选项 2.10 两个简单的命令 2.11 代码块 2.12 分号与定位 2.13 缩进编排 2.14 C++中的关键字 2.15 C++的标识符 2.16 标准C++库 第3章 基本数据类型 3.1 变量的声明 3.2 类型修饰符 3.3 字面量 ...

    C++Vector用法详解.pdf

    vector 是 C++ 标准库中定义的一种动态数组,它可以自动管理内存并根据需要调整大小。它是一种非常有用的数据结构,用于存储和管理一组元素。 用途 vector 可以用于各种目的,包括: 存储一组相关数据,例如学生...

    算法设计与分析-排序算法性能分析-要求pdf 报告文档 c++源代码 preppt

    //数组随机数初始化函数声明 void Show_Array();//展示排序结果 void Select_Sort();//选择排序函数声明 void Bubble_Sort();//冒泡排序函数声明 void Merge(int left, int right);//合并数列为left-right数列 ...

    C++ Primer第四版【中文高清扫描版】.pdf

    【原书名】 C++ Primer (4th Edition) 【原出版社】 Addison Wesley/Pearson 【作者】 (美)Stanley B.Lippman,Josée LaJoie,Barbara E.Moo 【译者】 李师贤 蒋爱军 梅晓勇 林瑛 【丛书名】 图灵计算机科学丛书 ...

    Visual C++开发经验技巧宝典(第1章)

    0032 成员函数的模板不可以是虚函数 12 0033 利用递归函数计算阶乘 12 0034 函数模板的应用 13 0035 使用指针数组 13 0036 函数指针数组的应用 13 0037 函数重载的注意事项 14 0038 使用typename关键字...

    Visual C++ 2005入门经典.part08.rar (整理并添加所有书签)

    4.1.2 声明数组 4.1.3 初始化数组 4.1.4 字符数组和字符串处理 4.1.5 多维数组 4.2 间接数据存取 4.2.1 指针的概念 4.2.2 声明指针 4.2.3 使用指针 4.2.4 初始化指针 4.2.5 sizeof运算符 4.2.6 常量指针和指向常量的...

    gsoap 2.8 (SOAP/XML 关于C/C++ 语言的自动化实现工具内附 CSharp webservice例子,及GSOAP client和server例子)

    gSOAP编译器可以集成C/C++和Fortran代码(通过一个Fortran到C的接口),嵌入式系统,其他SOAP程序提供的实时软件的资源和信息;可以跨越多个操作系统,语言环境以及在防火墙后的不同组织。  gSOAP使编写web服务的...

    Visual C++ 2005入门经典.part04.rar (整理并添加所有书签)

    4.1.2 声明数组 4.1.3 初始化数组 4.1.4 字符数组和字符串处理 4.1.5 多维数组 4.2 间接数据存取 4.2.1 指针的概念 4.2.2 声明指针 4.2.3 使用指针 4.2.4 初始化指针 4.2.5 sizeof运算符 4.2.6 常量指针和指向常量的...

    Visual C++ 2005入门经典.part05.rar (整理并添加所有书签)

    4.1.2 声明数组 4.1.3 初始化数组 4.1.4 字符数组和字符串处理 4.1.5 多维数组 4.2 间接数据存取 4.2.1 指针的概念 4.2.2 声明指针 4.2.3 使用指针 4.2.4 初始化指针 4.2.5 sizeof运算符 4.2.6 常量指针和指向常量的...

    C++MFC教程

    而且C++本身所具备的超越C语言的特性都可以使开发者编写出更易用,更灵活的代码。 在MFC中对消息的处理利用了消息映射的方法,该方法的基础是宏定义实现,通过宏定义将消息分派到不同的成员函数进行处理。下面简单...

    [Visual.C++.2010入门经典(第5版)].Ivor.Horton.part1

    注意:由于上传大小限制,此电子书分为两个压缩包,此压缩包part1为第一部分,需下载part2后同时进行解压!!!! 《Visual C++2010入门经典(第5版)》:使用visual C++ 2010支持的两种C++语言技术讲述C++编程的基础...

Global site tag (gtag.js) - Google Analytics