创建大量对象指针

阿里雷扎马

我定义了一个这样的类:

  class myClass {
       private:
            int count;
            string name;
       public:
            myClass (int, string);
            ...
            ...
  };

  myClass::myClass(int c, string n)
  {
        count = c;
        name = n;
  }
  ...
  ...

我还有一个 *.txt 文件,每行都有一个名称:

David
Jack
Peter
...
...

现在我逐行读取文件并为每一行创建一个新的对象指针,并将所有对象存储在一个向量中。函数是这样的:

vector<myClass*> myFunction (string fileName)
{
     vector<myClass*> r;
     myClass* obj;
     ifstream infile(fileName);
     string line;
     int count = 0;
     while (getline(infile, line))
     {
          obj = new myClass (count, line);
          r.push_back(obj);
          count++;
     }
     return r;
}

对于小的 *.txt 文件,我没有问题。但是,有时我的 *.txt 文件包含超过 100 万行。在这些情况下,程序会非常缓慢。你有什么建议可以让它更快吗?

Yakk - Adam Nevraumont

首先,找到比标准流更快的 io。

其次,您可以使用字符串视图而不是字符串吗?它们是 C++17,但到处都有 C++11 和更早的版本。

第三,

myClass::myClass(int c, string n) {
  count = c;
  name = n;
}

应该读

myClass::myClass(int c, std::string n):
  count(c),
  name(std::move(n))
{}

这将对长名称产生影响。由于“小字符串优化”,没有短的。

第四,停止制作指针向量。创建值的向量。

第五,失败了,找到一种更有效的方法来分配/解除分配对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何并行执行创建大量对象的函数?

来自分类Dev

悬空指针-查找创建对象的时间

来自分类Dev

创建指向对象的指针队列时出错

来自分类Dev

创建指向对象的空指针数组

来自分类Dev

C ++-创建指向包含类对象指针的数组元素的指针

来自分类Dev

matplotlib:创建大量Patch对象的有效方法

来自分类Dev

创建大量模型对象单元测试 django

来自分类Dev

如何从对象指针向量创建对象值向量?

来自分类Dev

为对象指针数组的每个 NULL 索引创建新对象

来自分类Dev

解析REST如何使用用户指针创建对象?

来自分类Dev

是否重新创建对象/引用/指针以添加const

来自分类Dev

无法访问在指针数组中创建的对象

来自分类Dev

指向使用Rcpp对象创建的C ++类的指针

来自分类Dev

如何保留对指向在堆上创建的对象的指针的全局访问权限

来自分类Dev

C ++使用原始指针创建循环依赖的对象

来自分类Dev

如何在javascript中创建指向对象属性的指针?

来自分类Dev

创建对象,添加指向矢量的指针,然后返回

来自分类Dev

如何创建对象变量以便每次都分配新的指针?

来自分类Dev

比较大量对象

来自分类Dev

实体框架批量插入-创建大量对象/实体是较慢的部分吗?

来自分类Dev

创建大量对象(神经元)并使用字典随机连接

来自分类Dev

我是否使用此jQuery代码创建了大量的DOM对象?

来自分类Dev

在C ++中创建对象时,如何将对象指针推向矢量?

来自分类Dev

接口实例的创建还会为其创建类型对象指针吗?

来自分类Dev

如何在不从参数列表内部创建对象的情况下创建指针

来自分类Dev

对象解除引用指针的指针?

来自分类Dev

通过const指针修改使用new创建的对象是否合法?

来自分类Dev

创建带有关联指针的对象时,为什么要使用“ new”?

来自分类Dev

我应该使用指向OOP对象的指针还是应该创建默认构造函数?

Related 相关文章

  1. 1

    如何并行执行创建大量对象的函数?

  2. 2

    悬空指针-查找创建对象的时间

  3. 3

    创建指向对象的指针队列时出错

  4. 4

    创建指向对象的空指针数组

  5. 5

    C ++-创建指向包含类对象指针的数组元素的指针

  6. 6

    matplotlib:创建大量Patch对象的有效方法

  7. 7

    创建大量模型对象单元测试 django

  8. 8

    如何从对象指针向量创建对象值向量?

  9. 9

    为对象指针数组的每个 NULL 索引创建新对象

  10. 10

    解析REST如何使用用户指针创建对象?

  11. 11

    是否重新创建对象/引用/指针以添加const

  12. 12

    无法访问在指针数组中创建的对象

  13. 13

    指向使用Rcpp对象创建的C ++类的指针

  14. 14

    如何保留对指向在堆上创建的对象的指针的全局访问权限

  15. 15

    C ++使用原始指针创建循环依赖的对象

  16. 16

    如何在javascript中创建指向对象属性的指针?

  17. 17

    创建对象,添加指向矢量的指针,然后返回

  18. 18

    如何创建对象变量以便每次都分配新的指针?

  19. 19

    比较大量对象

  20. 20

    实体框架批量插入-创建大量对象/实体是较慢的部分吗?

  21. 21

    创建大量对象(神经元)并使用字典随机连接

  22. 22

    我是否使用此jQuery代码创建了大量的DOM对象?

  23. 23

    在C ++中创建对象时,如何将对象指针推向矢量?

  24. 24

    接口实例的创建还会为其创建类型对象指针吗?

  25. 25

    如何在不从参数列表内部创建对象的情况下创建指针

  26. 26

    对象解除引用指针的指针?

  27. 27

    通过const指针修改使用new创建的对象是否合法?

  28. 28

    创建带有关联指针的对象时,为什么要使用“ new”?

  29. 29

    我应该使用指向OOP对象的指针还是应该创建默认构造函数?

热门标签

归档