Tag: 向量

为什么我不能在C ++ 11中创build一个lambdas向量(相同types)?

我试图创build一个lambdavector,但失败了: auto ignore = [&]() { return 10; }; //1 std::vector<decltype(ignore)> v; //2 v.push_back([&]() { return 100; }); //3 直到第二行,它编译好 。 但#3行给出编译错误 : 错误:调用'std :: vector <main():: lambda()>> push_back(main():: lambda()>' 我不想要一个函数指针向量或函数对象向量。 然而,封装真正的 lambdaexpression式的函数对象的向量,将为我工作。 这可能吗?

在C ++ 11范围for for循环中移除vector中的项目?

我有一个IInventory *的向量,我正在循环使用C ++ 11范围的列表,每个都做一些东西。 在做了一些东西之后,我可能想从列表中删除它并删除对象。 我知道我可以在指针上随时调用delete来清理它,但是在循环的范围内for从vector中移除它的正确方法是什么? 如果我从列表中删除它,我的循环将被视为无效? std::vector<IInventory*> inv; inv.push_back(new Foo()); inv.push_back(new Bar()); for (IInventory* index : inv) { // Do some stuff // OK, I decided I need to remove this object from 'inv'… }

如何在R中创build零长度的数字向量

我想知道,我怎样才能在R中创build一个数字零长度的向量?

提取vector的每个第n个元素

我想创build一个向量,其中每个元素是另一个向量的i+6th元素。 例如,在长度为120的vector中,我想要创build另一个长度为20的vector,其中每个元素是初始vector的值i, i+6, i+12, i+18…. ,即我想提取原始的每第六个元素。

R友好的方式来将R data.frame列转换为向量?

我有一个数据框,如: a1 = c(1, 2, 3, 4, 5) a2 = c(6, 7, 8, 9, 10) a3 = c(11, 12, 13, 14, 15) aframe = data.frame(a1, a2, a3) 我尝试以下将其中一列转换为向量,但它不起作用: avector <- as.vector(aframe['a2']) class(avector) [1] "data.frame" 这是我能想出的唯一的解决scheme,但我假设必须有一个更好的方法来做到这一点: class(aframe['a2']) [1] "data.frame" avector = c() for(atmp in aframe['a2']) { avector <- atmp } class(avector) [1] "numeric" 注意:我上面的词汇可能不准确,所以请纠正我的错误。 我仍然在学习R的世界。另外,对这里发生的任何解释都是赞赏的(即关于Python或其他一些语言的帮助!)

为什么libc ++的vector <bool> :: const_reference不是bool?

第23.3.7节类vector<bool> [vector.bool]第1段规定: template <class Allocator> class vector<bool, Allocator> { public: // types: typedef bool const_reference; … 但是,使用libc ++时,该程序无法编译: #include <vector> #include <type_traits> int main() { static_assert(std::is_same<std::vector<bool>::const_reference, bool>{}, "?"); } 此外,我注意到C ++标准在本规范中始终与C ++ 98保持一致。 而且我还注意到自libc ++第一次引入以来,libc ++始终没有遵循这个规范。 这种不合格的动机是什么?

为什么从函数返回向量是可以的?

请考虑这个代码,我已经看了几次这种types的代码, words是本地向量,怎么可能从函数返回。 我们可以保证它不会死? std::vector<std::string> read_file(const std::string& path) { std::ifstream file("E:\\names.txt"); if (!file.is_open()) { std::cerr << "Unable to open file" << "\n"; std::exit(-1); } std::vector<string> words;//this vector will be returned std::string token; while (std::getline(file, token, ',')) { words.push_back(token); } return words; }

如何反转C ++向量?

在C ++中是否有一个内置的vector函数来反转一个vector? 或者你只需​​要手动?

为什么一个C ++向量被称为向量?

这个问题真的很明显。 我隐约地了解math中的向量,但是我并没有真正看到与C ++向量的链接。

在C ++中使用数组或std ::向量,性能差距是什么?

在我们的C ++课程中,他们build议不要在新项目上使用C ++数组。 就我所知,Stroustroup自己build议不要使用数组。 但是是否有显着的性能差异?