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直接运行后正常运行,问题未知,猜测与函数中内存限制有关。

  • 相关阅读:
    P3740 [HAOI2014]贴海报 离散化+线段树
    离散化线段树
    manacher算法
    模板 ac自动机
    "美登杯" E、小花梨的数组* 线段树
    移动端测试
    移动端测试
    空气质量数据爬取-checkpoint.ipynb
    中国空气质量在线监测平台加密数据爬取
    移动端测试
  • 原文地址:https://www.cnblogs.com/Phoenix-blog/p/11926388.html
Copyright © 2011-2022 走看看