那些年趟过c/c++的坑

Posted 有点二的鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了那些年趟过c/c++的坑相关的知识,希望对你有一定的参考价值。

int numberOfArithmeticSlices(vector<int>& nums) {
        //当传入的 nums = {1} 时;
        
        cout << "nums.size()= " << nums.size() << endl;
        cout << "nums.size()-2 = " << nums.size()-2 << endl; //当结果计算<0 时 这个数很大 4294967295 ,导致下列循环很大,具体原因如下:
        int  n_lenth = nums.size();
        cout << n_lenth -2 << endl;

        for(int j = 0 ; j < n_lenth - 2;j++){
		cout << "j= " << j << endl;
	}
        for(int i = 0 ; i < nums.size() - 2;i++){ // 此时,nums.size()-2 为一个很大的值 4294967295
            if(i > 3)
                break;
            cout << "i= " << i << endl;
        }
        return 0;
}

查看 STL 的源码

// [23.2.4.2] capacity
      /**  Returns the number of elements in the %vector.  */
      size_type
      size() const _GLIBCXX_NOEXCEPT
      { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }

      /**  Returns the size() of the largest possible %vector.  */
      size_type
      max_size() const _GLIBCXX_NOEXCEPT
      { return _S_max_size(_M_get_Tp_allocator()); }


long unsigned int = unsigned long int
typedef size_t					size_type;
typedef __SIZE_TYPE__ 	size_t;
#define __SIZE_TYPE__ long unsigned int

以上是关于那些年趟过c/c++的坑的主要内容,如果未能解决你的问题,请参考以下文章

[转] 那些在使用webpack时踩过的坑

分布式存储趟过的那些坑

[linux][c/c++]代码片段01

[linux][c/c++]代码片段02

那些年我们爬过的山 - mybatis批量导入

顺丰科技 Hudi on Flink 实时数仓实践