改数组长度

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//改变数组长度
 
 
#include <iostream>
 
 
using namespace std;
 
// #ifndef CHANGELENGTH1D_H
#define CHANGELENGTH1D_H
 
#include<stdexcept>
#include<algorithm>
 
template<typename T>
void changeLength1D(T *&a,int oldLength, int newLength)
{
    if(newLength < 0)
        throw std::runtime_error("New length must be >=0");
 
    T* temp = new T[newLength];
    int number = std::min(oldLength, newLength);
    //copy( from_vector.begin(), from_vector.end(), to_vector.begin())
    std::copy(a, a+number, temp);
    delete [] a;
    a = temp;
}
 
// #endif // CHANGELENGTH1D_H
 
 
 
int main()
{
    try{
        double *a = new double[2];
        a[0] = 11;
        a[1] = 12;
        changeLength1D(a,2,6);
 
        for(int i=2;i<6;i++)
            a[i]=i;
 
        for(int i=0;i<6;i++)
            cout << a[i] << endl;
        return 0;
    }catch(runtime_error err)
    {
        cout << err.what() << endl;
        return 0;
    }
}

  

posted @   CrossPython  阅读(110)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示