初始化静态成员对象的最佳方法

初始化静态成员对象的最佳方法

本文介绍了初始化静态成员对象的最佳方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我有两个静态成员对象的类,一个是int类型,一个是 ,类型为vector< int> ;. static int myStaticMemberInt 静态向量< int> myStaticMemberVector; 我知道如何初始化int成员: MyClass :: myStaticMemberInt = 99; 但是,初始化myStaticMemberVector的最佳方法是什么? 特别是,我想要使用的初始化代码有些复杂,并涉及到处理一系列字符串以得出向量的每个int值的。我很感激有关如何解决这个问题的任何想法。 谢谢, cpp 解决方案 " cppaddict" <他*** @ hello.com>在消息中写道 news:ts ******************************** @ 4ax.com ... 这个可能是更好的方法(例如 如果你可以避免使用静态的话,那就不用了!)。但是一个函数如何返回初始化的向量,例如 typedef std :: vector< int> int_vector; extern int_vector init_vector(); static int_vector my_vector = init_vector(); 效率不高,因为有很多数据移动(除非编译器 足够聪明以便将其优化掉),它应该有效。如果这是一个问题, 则可能: extern int init_vector(int_vector& v); static int_vector my_vector; static int temp = init_vector(my_vector); 上课静态变量并给它一个构造函数!一种方式。 -JKop I have class with two static member objects, one of type int and oneof type vector<int>.static int myStaticMemberIntstatic vector<int> myStaticMemberVector;I know how to initialize the int member:MyClass::myStaticMemberInt = 99;But what is the best way to initialzie myStaticMemberVector?In particular, the initialization code I want to use is somewhatcomplex, and involves processing a series of strings to come up witheach int value for the vector. I''d appreciate any ideas on how tosolve this problem.Thanks,cpp 解决方案This is just off the top of my head, there are probably better ways (such asnot using statics if you can avoid it!). But what about a functionreturning the initialized vector, such astypedef std::vector<int> int_vector;extern int_vector init_vector();static int_vector my_vector = init_vector();Not efficient in that there is a lot of data movement (unless the compileris smart enough to optimize it away), it should work. If that is a problem,then maybe:extern int init_vector(int_vector& v);static int_vector my_vector;static int temp = init_vector(my_vector);Make a class out of the static variable and give it an constructor! One way.-JKop 这篇关于初始化静态成员对象的最佳方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-23 15:58