Tag: 向量

如何将vector转换为C ++中的数组

如何将double s vector转换为double s array ?

如何找出一个项目是否存在于std :: vector中?

我所要做的就是检查vector中是否存在一个元素,这样我就可以处理每个case。 if ( item_present ) do_this(); else do_that();

你不能从std :: vectorinheritance

好吧,这真的很难承认,但我现在有一个强大的诱惑,从std::vectorinheritance。 我需要大约10个定制的vectoralgorithm,我希望它们是vector的直接成员。 但是,我自然也想拥有std::vector接口的其余部分。 那么,作为一个守法的公民,我的第一个想法是在MyVector类中有一个std::vector成员。 但是,我将不得不手动提供所有的std :: vector的接口。 键入的太多了。 接下来,我想到了私有inheritance,所以我不会using std::vector::member方法,而是在公共部分using std::vector::member 。 实际上这也很乏味。 在这里,我真的认为我可以简单地从std::vector公开inheritance,但是在文档中提供了一个警告,这个类不应该被多态使用。 我认为大多数开发人员都有足够的能力去理解这个不应该被多态地使用。 我的决定是绝对无理的吗? 如果是这样,为什么? 你可以提供一个替代scheme,其他成员实际上是成员,但不涉及重新input所有的vector接口? 我怀疑,但如果可以的话,我只会很开心。 此外,除了一些白痴可以写类似的事实 std::vector<int>* p = new MyVector 使用MyVector有没有其他现实的危险? 通过说现实我放弃像想象一个函数,需要一个指针向量… 那么,我已经说明了我的情况。 我犯罪了。 现在是由你来原谅我或不:)

std :: vector比普通数组慢吗?

我一直认为这是std::vector的一般智慧是“作为一个数组来实现的”,等等等等。 今天,我去了,测试它,似乎并非如此: 以下是一些测试结果: UseArray completed in 2.619 seconds UseVector completed in 9.284 seconds UseVectorPushBack completed in 14.669 seconds The whole thing completed in 26.591 seconds 那大约要慢3到4倍! 对于“几个毫微秒的vector可能会变慢”的评论并没有真正的理由。 和我使用的代码: #include <cstdlib> #include <vector> #include <iostream> #include <string> #include <boost/date_time/posix_time/ptime.hpp> #include <boost/date_time/microsec_time_clock.hpp> class TestTimer { public: TestTimer(const std::string & name) : name(name), start(boost::date_time::microsec_clock<boost::posix_time::ptime>::local_time()) { } ~TestTimer() { […]

为什么我不能做一个引用向量?

当我这样做: std::vector<int> hello; 一切都很好。 但是,当我把它作为引用的向量时: std::vector<int &> hello; 我得到可怕的错误,如“错误C2528:'指针':参考指针是非法的”。 我想把一堆对struct的引用放到一个向量中,这样我就不需要插入指针了。 为什么矢量这个发脾气? 我唯一的选择是使用指针向量吗?

内存管理/不能分配大小为n的矢量Mb

我遇到了试图在R中使用大对象的问题。例如: > memory.limit(4000) > a = matrix(NA, 1500000, 60) > a = matrix(NA, 2500000, 60) > a = matrix(NA, 3500000, 60) Error: cannot allocate vector of size 801.1 Mb > a = matrix(NA, 2500000, 60) Error: cannot allocate vector of size 572.2 Mb # Can't go smaller anymore > rm(list=ls(all=TRUE)) > a = matrix(NA, 3500000, […]

将一个矢量拆分成R中的块

我不得不在R中将一个向量分成n个相同大小的块。我找不到任何基本函数来做到这一点。 另外谷歌没有让我到任何地方。 所以这就是我想出来的,希望它能帮助某个地方的某个地方。 x <- 1:10 n <- 3 chunk <- function(x,n) split(x, factor(sort(rank(x)%%n))) chunk(x,n) $`0` [1] 1 2 3 $`1` [1] 4 5 6 7 $`2` [1] 8 9 10 任何意见,建议或改进,真的欢迎和赞赏。 干杯,塞巴斯蒂安