热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java泛型擦除_java泛型擦除原因

C的权当我不会。太违背理性的一种语言。哈哈。和C根本上就是一个原因。引用来自“中山野鬼”的评论C的权当我不会。太违背理性的一种语言。哈哈。就Java的奇葩设计还有脸说啥纯粹

C++的权当我不会。太违背理性的一种语言。哈哈。和C根本上就是一个原因。

引用来自“中山野鬼”的评论C++的权当我不会。太违背理性的一种语言。哈哈。就Java的奇葩设计还有脸说啥纯粹?阉了还差不多。连个确定性析构都没有;存储都管不干净非得自欺欺人把具有类似union{Tobj;T

ptr;}类型的玩意儿叫成什么“对象”还跟primitivetype势不两立;用类型擦除当泛型糊弄用户玩……根本就是罄竹难书嘛。这话有意思,不过容易引起战争,哈哈。。。。。。delete是释放内存还给操作系统,你已经释放了,操作系统就会回收,可能这个时候已经把它又分配给别人了,你就不能再操作它了。当然一般这部分空间还在你这个程序内部,如果你中间new了一个别的变量就分配给它了。所以一般delete完,就要把指针置空,避免出现野指针。至于你说的标记,这部分是操作系统实现的,可能是。谢谢啊C++不太清楚。对于C语言而言,在Linux中,当使用malloc分配内存的时候,返回的指针,它指向的内存地址之前的四个字节,记录了内存的大小(自己的电脑测试下来,记录的大小比分配的大小大9,应该是记录其他内容用的),同时Linux内存管理系统会标记内存已使用。当我们使用free的使用,系统会根据记录的内存大小来释放内存。这个时候,Linux的内存管理系统会标记内存已释放。当我们再次释放的时候,free会执行同样的操作,即根据传入的参数指向的内存地址之前的四个字节的大小来释放内存,这个时候Linux内存管理系统应该会出问题。因为free可以释放空指针,即NULL。所以,多次释放NULL,是可以的。这也是为什么建议释放后,置位NULL。可以避免doublefree导致的错误。对于C++,机制应该有些相似。仅供参考。C++的delete和free类似允许空指针值。受教了谢谢啊今晚做了一下测试,代码是这样的: intpsome=newint[10];

deletepsome;

psome[2]=10;

int

p&#61;newint;  p&#61;900;  deletep;  for(inti&#61;0;i<100;i&#43;&#43;){    sleep(1);&#xff0f;&#xff0f;休眠1s    cout<

&#64;catch2000:不管是C还是C&#43;&#43;的实现都不需要指望操作系统的支持。没有操作系统照样有malloc/new。回复&#64;幻の上帝:因为不同的操作系统内存管理算法是不一样的&#xff0c;我们不能依靠它们。这里我提到的操作系统&#xff0c;不只是Linux与Windows的区别&#xff0c;还有Rtems,Vxworks,uc/OS&#xff0c;eCos&#xff0c;以及Contiki。我们不能期望它们能有什么相似的内存管理算法。毕竟C语言只是语言&#xff0c;内存管理是我们通过算法来实现的&#xff0c;不是语言的范畴了。回复&#64;catch2000:脱离具体实现无所谓什么堆区。对C&#43;&#43;来说就叫freestorage。对于C来说连个正式的称呼都没有&#xff0c;只知道这里的对象具有allocatedstorageduration。靠具体实现的结果来解释是彻头彻尾的方法论错误。对于你这里的psome-p操作&#xff0c;是有风险的。在你的系统上是这样&#xff0c;但是在其他系统上不一定。没有指向同一数组(或者分配的内存)的指针&#xff0c;一般是要避免他们的大小比较和加减运算。因为这样的结果是未定义的。可以参见&#xff1a;《MISRAC2004》(这份文档是一个C安全子集)引用来自“Stieven”的评论今晚做了一下测试&#xff0c;代码是这样的&#xff1a; intpsome&#61;newint[10];  deletepsome;  psome[2]&#61;10;  intp&#61;newint;

*p&#61;900;

deletep;

for(inti&#61;0;i<100;i&#43;&#43;){

sleep(1);&#xff0f;&#xff0f;休眠1s

cout<<

p<

引用来自“中山野鬼”的评论

引用来自“中山野鬼”的评论C&#43;&#43;的权当我不会。太违背理性的一种语言。哈哈。

跟C类似&#xff0c;ISOC&#43;&#43;规定在这种用法就是undefinedbehavior&#xff0c;不保证任何可预测的行为&#xff0c;后果自负。

说白了还是责任分配问题。实现有权假定用户正确地遵守了约定不作死。

具体细节具体实现管。没给出环境之前进一步纠结没意义。(因为ISOC&#43;&#43;支持独立实现&#xff0c;你还没法让人假定操作系统的存在。)



推荐阅读
  • 1、概念共享内存:共享内存是进程间通信中最简单的方式之一。共享内存允许两个或更多进程访问同一块内存,就如同malloc()函数向不同进程返回了指向同一个 ... [详细]
  • 外层|条件下_MySQL还能这样玩第五篇之视图应该这样玩
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了MySQL还能这样玩---第五篇之视图应该这样玩相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 编译原理c语言词法分析器,用C语言实现一个真正的词法分析器
    词法分析,是编译器的第一个模块,也是最简单的模块。最简单,指的是相对于编译器这种大型程序而言,与一般的代码相比还是有点复杂的 ... [详细]
  • 在VS(VisualStudio)2017下编译C语言程序,如果使用了scanf()、gets()、strcpy()、strcat()等与 ... [详细]
  • 阿里云大数据计算服务MaxCompute (原名 ODPS)
     MaxCompute是阿里EB级计算平台,经过十年磨砺,它成为阿里巴巴集团数据中台的计算核心和阿里云大数据的基础服务。去年MaxCompute做了哪些工作,这些工作背后的原因是什 ... [详细]
  • 两种不同方式获取最大值与最小值代码1:#include&amp;amp;lt;stdio.h&amp;amp;gt;intmain(){floatscore[5], ... [详细]
  • x86x64体系探索及编程(对x86处理器介绍得最详尽又最具实践指导意义的一本书)邓志著ISBN978-7-121-18176-42012年10月出版定价:119.00元16开840页对x86处理 ... [详细]
  • 操作系统基础知识(常用面试题)
    1.进程和线程有什么区别?进程(Process)是系统进行资源分配和调度的基本单位,线程(Thread)是CPU调度和分配 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  •  //CAUTION:Followtheconfigurationorderforsettingtheports.   //1)settingva ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了基于c语言的mcs51单片机定时器计数器的应用教程,包括定时器的设置和计数方法,以及中断函数的使用。同时介绍了定时器应用的举例,包括定时器中断函数的编写和频率值的计算方法。主函数中设置了T0模式和T1计数的初值,并开启了T0和T1的中断,最后启动了CPU中断。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • c语言\n不换行,c语言printf不换行
    本文目录一览:1、C语言不换行输入2、c语言的 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
author-avatar
Only-安之若素
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有