`
vanadies10
  • 浏览: 83210 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

编程常犯的错误

阅读更多
自己写程序也写了不短的日子了。这个blog就列出来自己遇到的常犯的错误吧。也算是给自己一个记录,一个提醒。

        集合中的元素的删除。

                for(int i=0; i < container.length; i++){

                        if(....){

                                   container.delete(i);

                       }

              }

            在循环中可能删除多个复合条件的元素。这样的写法就错了。可以改写成

                for(int i=container.length; i > 0; i--){

                        if(....){

                                   container.delete(i--);

                       }

              }           



             此外就是使用iterator在遍历的时候,直接用容器的delete或者remove方法删除iterator,然后没有跳出循环,继续遍历的话,也是错误的。在java中,可以使用iterator本身的remove。而c++的stl中没有对应的处理办法。如果不使用iterator的remove方法或者不能使用,那么循环中可以考虑如下的写法

      for(Iterator iter = container.begin(); iter != container.end(); ){

             if(...){

                   Iterator tmpIter = iter;

                    tmpIter++;

                    container.remove(iter);

                   iter = tmpIter;

            }

          else{

                iter++;

         }

      }

         C/C++ 中分配内存

         void AllocSpace(char *p){

                p = new char[1024];

         }

        p只是一个局部变量,这样的分配只是导致内存泄露。

        完成这个意图的写法可以有两种

        char * AllocSpace(){

                return new char[1024];

        }

      或者

      void AllocSpace(char **p){

               *p = new char[1024];

        }

     

    对于delete的误解

                char *p = new char[1024];

               delete p;

              if(NULL != p){

             }

           delete(free) 只是释放指针指向的内存,并不会使得指针本身的值为NULL

分享到:
评论

相关推荐

    C编程时常犯的错误

    ### C编程时常犯的错误 #### 一、忽视大小写敏感性 **错误示例**: ```c main() { int a = 5; printf("%d", A); } ``` **错误分析**:在这个例子中,`a` 和 `A` 被当作两个不同的变量处理。C语言对大小写非常...

    C语言编程易犯错误分析.pdf

    本文将对C语言编程中常见的易犯错误进行分析,旨在为初学者提供一份参考,帮助他们少走弯路,提高编程技能。 首先,C语言是一种区分大小写的编程语言。这意味着,在书写标识符时,如变量名、函数名和宏定义等,必须...

    Verilog与SystemVerilog编程陷阱:如何避免101个常犯的编码错误

    在深入探讨Verilog与SystemVerilog编程陷阱以及如何避免这些常犯的编码错误之前,我们先来了解一下Verilog与SystemVerilog的基本概念。 Verilog是一种硬件描述语言(HDL),主要用于电子系统的设计和验证,包括从...

    初学C语言编程易犯的错误及其改正

    初学C语言编程易犯的错误及其改正

    Verilog与SystemVerilog编程陷阱 如何避免101个常犯的编码错误 [(美)萨瑟兰,(美)米尔斯著][机械工业出版社].pdf

    Verilog与SystemVerilog编程陷阱 如何避免101个常犯的编码错误

    C语言编程易犯错误集

    在C语言编程中,开发者经常会遇到一些常见的错误,这些错误可能会导致程序无法正常运行或难以调试。以下是对这些错误的详细解释和预防措施: 1. **大小写字母的区别**:在C语言中,标识符(变量名、函数名等)是...

    Java编码常犯错误

    ### Java编码常犯错误 #### 一、字符串拼装SQL **问题描述**:在Java开发过程中,直接使用字符串拼接的方式构造SQL语句是一种常见的做法。然而这种方式存在明显的安全隐患和性能问题。 - **安全漏洞**:直接拼接...

    C语言高手总结的新手容易犯的错误

    C语言是一门经典的编程语言,对于新手来说,易犯的一些错误是非常普遍的。这些错误不仅影响代码的正确性,也会浪费大量的时间和精力。因此,了解和避免这些错误是非常重要的。 1. 将字符常量与字符串常量混淆 ...

    编程中常犯的两个错误

    本文将基于“编程中常犯的两个错误”这一主题,结合作者自身的经验,以及编程实践的最佳实践,详细探讨如何避免这些错误,以帮助新手们更有效地学习编程。 首先,让我们聚焦于第一个错误:花费过多时间学习不必要的...

    程序员不应该再犯的五大编程错误

    然而,有一些错误是不应该重复的,尤其是那些在程序员的编程生涯中容易犯的常见错误。初学者由于经验不足,往往更易陷入这些误区。但不管是不是初学者,了解并刻意避免这些错误,对于提升编程技能和代码质量是至关...

    初学C语言编程易犯的错误及其改正.pdf

    其次,符号字符歧义错误也是初学者常犯的错误之一。在C语言中,某些符号如‘/’或‘=’只有一个字符长度,而像‘==’或‘++’则由多个字符组成。当编译器读取时,会从左到右逐步读取字符,判断是否能组合成一个符号...

    编程人员容易犯的10个C#错误

    本文将详细讨论编程人员在使用C#时常常会犯的10个常见错误,并提供相应的解决策略。 1. **未初始化的变量** 在C#中,所有变量必须在使用前明确初始化。与C++不同,C#不会自动为变量分配默认值。因此,忘记初始化...

    C++语言99个常见编程错误pdf

    在描述中提到的“借鉴”二字,意味着读者可以通过学习这些错误案例和解决方案,以避免未来犯下类似的错误,提升个人的技术水平。 通过这本书,读者可以学习到如何利用C++语言的特性进行高效编程,以及如何设计出更...

    C语言改错练习资料(C常犯错误)

    以下是一些关于C语言常犯错误的分析和修正: 1. 字符串输出: - 错误:在字符串定义时,使用了不标准的拼写`f0r`。 - 解决:正确拼写`for`关键字。 ```c #include void main(){ char yy[100] = "ok??\n"; ...

    java编程十大低级错误

    Java编程中的低级错误是开发者在编码过程中容易犯的一些常见失误,这些错误往往会影响代码的可读性、可维护性和程序的稳定性。以下是对标题和描述中提到的十大低级错误的详细解释: 1. **命名不规范**:命名应该...

    PHP开发者最常犯的11个MySQL错误编程小技巧共4页

    本篇内容将详细解析PHP开发者最常犯的11个MySQL编程错误,并提供相应的解决小技巧。 1. **未使用预处理语句**: 预处理语句可以防止SQL注入攻击,通过绑定参数来执行查询。不使用预处理可能导致恶意用户通过输入...

    C++编程人员容易犯的10个C_错误

    【C++编程人员容易犯的10个C#错误】这篇文章主要探讨了C++程序员在转向C#编程时常见的误解和陷阱。以下是其中的两个关键知识点: ### 知识点1:垃圾回收与析构函数的区别 在C++中,程序员需要手动管理内存,包括...

    java常犯错误

    在Java编程过程中,开发者经常会遇到一些常见的错误,这些错误可能会导致程序运行不正常或效率低下。以下是一些Java中常见的错误及其详细解释: 1. **类型转换错误**:Java是强类型语言,当不同类型的数据之间进行...

    c语言编程易犯毛病

    以下是从标题“C语言编程易犯毛病”及其描述中提取的一些关键知识点,这些知识点涵盖了C语言编程中容易遇到的错误,帮助读者更好地理解和避免这些常见问题。 ### 1. 忽视大小写敏感性 C语言区分大小写,这意味着`a...

Global site tag (gtag.js) - Google Analytics