std相关内容
我有这个类 AppController 和函数 connectPlayer: /* AppController.h */类 AppController{//其他一些声明...私人的:静态常量字符串标签;};/* AppController.cpp */#include "AppController.h"const string AppController::TAG = "AppControlle
..
在他今年 Going Native 的主题演讲中 C++ 的本质(转至 40:30)Bjarne Stroustrup 给出了以下代码示例: template向量*>find_all(C& cont, V v){向量*>资源;for (auto& x : 续)如果 (x == v)res.push_back(&x)返回资源;} 此函数用于
..
我有一个 C++ 映射声明如下 std::map字图= {{ "是", 6 },{“的",5},{ "帽子", 9 },{ “在6点钟 }}; 我想知道如何找到 wordMap 中存在的 int 不同值的数量.在此示例中,我希望输出为 3,因为我有 3 个不同的不同值 (6,5,9). 解决方案 尝试使用 std::set 进行计数: std::set英石;for (const au
..
我正在使用 std::copy 将 std::deque 中的对象复制到文件中.代码工作正常,但我需要检查复制是否成功,因此我需要设置标志或抛出异常. 我用谷歌搜索但找不到如何检查 std::copy 是否已成功将值复制到文件中的解决方案. 有人可以点亮它吗. 解决方案 如果写入文件失败,则文件流的错误标志将被设置 - 您可以在复制后检查这些,或调用 exceptions 成员
..
在 C++03 中,当您使用运算符 typeid 时,type_info 对象. 是否可以仅根据此结果检索给定类型的大小,例如由 sizeof 返回 运算符? 例如: std::type_info info = typeid(int);int intSize = sizeof(int);int intSize2 = info.getSize();//不存在! 问题是我们使用第三方多
..
想象一下这样的代码: 字符串 f(){字符串 r = "ab";返回 r;}int main() {const char *c = f().c_str();printf("%s.\n", c);返回0;} 这段代码可能会崩溃,对吧?因为 c 指向的那个字符串被破坏了.但是通过 Valgrind 运行它不会显示任何无效的内存访问.为什么?我知道 Valgrind 无法检查堆栈,但“ab"实际上位
..
我正在尝试使用以下代码(使用 g++ mean.cc -std=c++0x 编译)计算双精度向量的平均值: //mean.cc#include #include #include 结构均值{无符号整数 n;均值(无符号整数 n):n(n){}double operator()(double sum, double x) {返回总和 + x/n;}};int主(){std::vectorv = {
..
我写了一个简短的测试程序,看看我是否可以重复使用 stringstream 附加到一个字符串. 在第一个版本中,我得到了 Output1,但我真的不明白为什么 s1 保持为空.我发现我必须做 ss.clear() 然后在 Output2 中得到预期的结果.任何人都可以解释为什么它在没有明确的情况下不起作用?我原以为,如果我反复输入数字并将它们取回字符串,我应该总是得到数字.我不确定是否附加了
..
考虑这个代码片段:在第一种类型 T1 的一个容器上迭代以创建第二种类型 T2 的第二个容器,应用转换函数 T1->T2 但仅用于验证谓词的 T1 元素 (T1 -> bool ) (在以下示例中为奇数). std::vectormyIntVector;myIntVector.push_back(10);myIntVector.push_back(15);myIntVector.push_b
..
是否有比以下更好的方法来确定 std::istream 的长度: std::istream* pcStream = GetSomeStream();pcStream->seekg(0, ios::end);unsigned int uiLength = pcStream->tellg(); 必须寻找流的末尾然后返回原始位置似乎真的很浪费,特别是如果流可能是某些慢速媒体(如 CD 或 DVD)上
..
std::span 不是被设计为对 std::vector/std::array/普通数组之类的?它不应该在其 API 中也包含比较运算符,以与它们保持一致吗?排除背后的原因是什么? 注意:通过比较运算符,我指的是完整集合 (
..
我编写了一个将 std::vectors 从一种类型转换为另一种类型的快速方法: 模板向量 BConvertSTDVector_AToB(vector vector){向量 B转换向量;for(unsigned int i= 0; i 但编译器在左括号后的行中出现“错误 C2275:'B':非法使用此类型作为表达式"的错误.起初我以为在其他地方以某种方式定义了“B",但是更改两个模板类型名称会
..
编译这段代码: #include #include int main(int argc, char * argv[]){std::set测试;std::cout ::iterator{}) ::iterator{})
..
我发现这个正则表达式用于替换正则表达式用小写字母替换大写 查找:(\w) 替换为:\L$1 我的代码 string s = "ABC";cout
..
我有一个关于 std::vector 的小问题.在 main.h 中,我尝试制作固定大小的 int 向量 std::vector富(7); 但是 g++ 给出了这个错误: ../test/main.h:21:26: 错误:数字常量前的预期标识符std::vector富(7);../main/main.h:21:26: 错误:在数字常量之前应为“,"或“..." 如何创建固定大小长度的私有向
..
给定以下代码: /*格式化输出**目标:练习使用 cout 将输出格式化到控制台**在三列中打印变量:**整数、浮点数、双数*/#include #include 使用命名空间标准;int main(){int a = 45;浮动 b = 45.323;双 c = 45.5468;int aa = a + 9;浮动 bb = b + 9;双cc = c + 9;int aaa = aa + 9;
..
来自 std::add_pointer 可能的实现 命名空间细节{模板struct type_identity { 使用类型 = T;};//或使用 std::type_identity (C++20 起)模板自动 try_add_pointer(int) ->type_identity::type*>;模板自动 try_add_pointer(...) ->type_identity;}
..
我正在尝试创建一个非空的 unique_ptr. template 类 unique_ref {民众:模板unique_ref(Types&&... Args) { mPtr = std::make_unique(std::forward(Args)...);}T* release() &&{ 返回 mPtr.release();}T* release() &= 删除;私人的:s
..
我编写了以下函数来将 uint8_t 的 std::vector 转换为 ascii 十六进制 string (gnu++98 标准). ...字符串 uint8_vector_to_hex_string(const vector& v) {字符串流 SS;vector::const_iterator;for (it = v.begin(); it != v
..
我有带有 Xubuntu 14.04 的 g++ 4.8.4 版编译器.在我的 OpenCV 代码(用 Eclipse CDT 编写)中,我连续写了以下三行: /* 这里有一些代码*/cerr 结果如下: 按一个键继续...未找到匹配项.误报数:1/*有一个空行*/ 为什么这两行的顺序在执行时发生了变化?前几行根本没有并行代码,但它们似乎像并行(同时)一样工作. 我知道 cerr 没
..