zoukankan      html  css  js  c++  java
  • C++坑点随笔

    防止头文件重复定义

    1. 有两种方法,分别是

      #ifndef xxx_h
      #define xxx_h
      ...
      #endif
      
      #pragma once
      

    头文件已使用上述方法却仍然multiple define

    1. 注意,头文件只能声明不能定义,否则出错
    2. c++类中私有成员中的静态变量初始化方式
    //.h文件
    class Test{
     static double A; 
     static double B();
    };
    //.cpp文件
    double Test::A= 2.0; //正确的静态成员初始化
    

    vector

    erase操作

    • 原理:删除过程中对于指定iter后面的数据全部向前移动进行覆盖

    • 注意点:删除之后所删除位置的iter可能变为野指针(若iter是最后一个)因此对于这种情况要妥善处理

    • 测试代码

    #include <vector>
    #include <cstdio>
    using namespace std;
    
    
    int main(){
    	vector <int> a;
    	a.clear();
    	a.push_back(1);
    	a.push_back(2);
    	a.push_back(3);
    	
    	for(int i = 0; i < a.size(); i++)
    		printf("%d ", a[i]);
    		
    	vector<int>::iterator itr = a.begin();
    	a.erase(itr+1);
    	
    	for(int i = 0; i < a.size(); i++)
    		printf("%d ", a[i]);		 
    }
    

    Catch2 测试框架中的SECTION

    在进行一次大量数据测试时,SECTION进入死循环状态,无法跳出,断点也无法定位问题所在,改变为TEST_CASE直接运行后正常运行,问题未知,猜测与函数中内存限制有关。

  • 相关阅读:
    SQL 去重 DISTINCT 语法
    urllib2 urllib urllib3的区别联系
    urllib库中常见的类和方法
    python模块之json pickle
    python os模块
    python的常见内置模块之-----time
    列表,队列,栈,链表的内存模型
    open函数
    session和cookie
    随笔小skill
  • 原文地址:https://www.cnblogs.com/Phoenix-blog/p/11926388.html
Copyright © 2011-2022 走看看