c – 获取动态分配的数组大小
在“The C Programming Language”一书中,Stroustrup说:
这意味着new分配的每个对象的大小都位于堆中的某个位置.位置是否已知,是否可以访问它? 解决方法
实际上,内存分配器的典型实现也存储了一些其他信息.
没有标准的方法来访问这些信息,实际上标准中没有任何内容表示存储了什么信息(字节大小,元素数量及其大小,指向最后一个元素的指针等). 编辑: >它假设您有原始指针. 为了说明这可能出错,让我们说这样做: size_t get_len_array(int *mem) { return allcoated_length(mem); } ... void func() { int *p = new int[100]; cout << get_len_array(p); delete [] p; } void func2() { int buf[100]; cout << get_len_array(buf); // Ouch! } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c# – 检测用于HttpClient POST或GET调用的TLS版
- Oracle order by子句对NULL的排序
- twisted入门教程之二:异步编程初探与reactor模式
- 在文档类中控制舞台上影片剪辑
- ruby-on-rails-3 – Omniauth在登录时不更新OAut
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第
- ruby-on-rails – Rails:在’generate’命令中传
- ORACLE JET Basic Table Sortable Columns
- c# – 每个WCF服务的新ServiceHost?
- ruby-on-rails – 来自单个Rails应用程序的多个D