如何在C++中获得不同向量的向量

2023-12-11

我想要一个 C++ 表示的表,如下所示:

0   1   2
=   =   =
1  1.0  a
2  2.0  b
3  3.0  c

列的类型必须从int, double or string在运行时。

用 C++ 表达它的最佳方式是什么?

附录:我真正的问题:我想要一个数据库表的列式表示,它可以有任意的 SQL 类型(我会满足int, double and string).


编辑:要在运行时创建动态类型的对象,请搜索“工厂模式”。

您需要第一个向量包含一致的类型,因此您可能(在 C++ 中)希望拥有一个基类并从中派生。我不确定 std::vector 类是否有一个非类型化的基类(可能有)。

因此,您要么围绕向量的概念创建一个包装类(恶心),要么创建一个变体类型的向量(恶心),要么创建某种变体向量(恶心)。我可能会选择后者,因为它是最简单的方法,其中仍然包含类型安全向量。

typedef union VectorOfThings {
    std::vector<int> i;
    std::vector<double> d;
    std::vector<string> s;
};
struct TypedVectorOfThings {
    enum Type { ints, doubles, strings };
    Type type;
    VectorOfThings myVector;
};
std::vector<TypedVectorOfThings > myVectorOfVectors;

并调味。但是天哪,这太可怕了。这是用户定义的数据库表的运行时表示还是其他什么?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在C++中获得不同向量的向量 的相关文章

  • 通过 VLA 数组跳转到 goto 时出现分段错误

    以下示例演示了该问题 include
  • C++ Singleton 类 getInstance (作为 java)[重复]

    这个问题在这里已经有答案了 可能的重复 谁能给我提供一份 C 中的 Singleton 示例吗 https stackoverflow com questions 270947 can any one provide me a sample
  • 当“”可以分配给std::string时,为什么有“clear”方法?

    一个可以用string clear函数清空字符串 也可以使用空双引号 来执行此操作 有什么不同 当您分配一个空字符串时 编译器必须在数据部分存储一个空的 C 字符串 并创建代码以将指向它的指针传递给赋值运算符 然后 赋值运算符必须从数据部分
  • 使用 gcc 编译 C 时,预处理的 .i 文件中的数字意味着什么?

    我想了解编译过程 我们可以使用以下命令查看预处理器中间文件 gcc E hello c o hello i or cpp hello c gt hello i 我大致知道预处理器的作用 但我很难理解某些行中的数字 例如 1 usr incl
  • 函数原型和数组参数

    我正在学习 C 语法 并且已经开始研究数组了 我想问你一个问题 但首先让我回顾一下 这样我就知道我已经弄清楚了 我知道您可以使用以下语法将变量定义为数组 name
  • 优化对绑定到 DataGridView 的 DataTable 的更新

    我的应用程序中有一个显示一些数据的表单 当我第一次显示表单时 我将一些数据加载到 DataTable 中 然后将 DataTable 绑定到 DataGridView 我还启动了一个异步方法来执行一些较慢的数据库查询 当这些慢查询完成时 我
  • 在 C 中声明和初始化数组

    C 有没有办法先声明然后初始化数组 到目前为止 我一直在初始化一个这样的数组 int myArray SIZE 1 2 3 4 但我需要做这样的事情 int myArray SIZE myArray 1 2 3 4 在 C99 中 您可以使
  • 使用 boost::iterator_facade<>

    我有一个链表结构 struct SomeLinkedList const char bar int lots of interesting stuff in here DWORD foo SomeLinkedList pNext 它是现有
  • 设置外部应用程序焦点

    在 VB NET 中 您可以使用以下命令将焦点设置到外部应用程序 AppActivate Windows Name or AppActivate processID As Integer 现在 如果您这样做 则效果很好 Dim intNot
  • 在 DefaultHttpContext 上使用 FeatureCollection 时,响应对象为 null

    我正在测试一些 net Core 中间件 并希望使用整个 asp net Core http 管道来运行中间件 而不是模拟它 问题是 当我使用特征集合时 不知何故 响应对象没有在 httpRequest 中设置 并且它在请求本身上是只读的
  • 了解 MVC-5 身份

    我创建了一个新的ASP NET MVC 5申请与Individual User Accounts然后更新了所有的Nuget packages在解决方案中 现在我尝试遵循一些教程中显示的一些指南 但遇到了一些问题 第一个是一个名为Applic
  • 为什么测试在 TeamCity 中运行比直接在 NUnit 中运行需要更长的时间?

    我进行了一些 C 性能测试 基本上运行两种不同的方法 并检查一种方法的运行速度是否比另一种方法快得多 当我在 NUnit 本地运行它们时 其中一个测试的运行速度是另一个测试的十倍 因此我有一个 NUnit 测试 它使用Stopwatch检查
  • 适用于 Windows 的键值数据库?

    除了 MongoDB 和 Memcached 之外 Windows 上还运行哪些键值存储 我见过的大多数似乎只能在 Linux 上运行 Hypertable Redis Lightcloud 相关链接 是否有经过商业验证的云存储 Key g
  • 一些涉及类析构函数和删除运算符的内存管理问题?

    在阅读了一些教程后 我仍然不清楚 C 中内存管理的一些观点 1 当使用 new 运算符声明的类超出范围时 是否会调用其析构函数并释放内存 是否有必要调用删除运算符来释放类的内存并调用其析构函数 class Test void newTest
  • Windows Phone HttpClient PostAsync 挂起且无响应

    我在拨打电话时遇到问题HttpClientWP 应用程序的 post 方法 PostAsync总是挂起并且不给出任何响应 当我从 WPF 应用程序中尝试时 相同的代码可以工作 这是我正在做的事情 服务器Web API代码 public cl
  • C语言中如何将整数转换为字符? [复制]

    这个问题在这里已经有答案了 C语言中如何将整数转换为字符 C 中的字符已经是数字 字符的 ASCII 代码 无需转换 如果要将数字转换为相应的字符 只需添加 0 即可 c i 0 0 是 ASCii 表中的一个字符
  • 在 C++ 中将大型数据向量写入/读取到二进制文件

    我有一个 C 程序 它通过将 ascii 文件中的网格人口数据读取到大型 8640x3432 元素双精度向量中来计算给定半径内的人口 将 ascii 数据读入向量大约需要 30 秒 循环每列和每行 而程序的其余部分只需要几秒钟 我被要求通过
  • 没有运算符“<<”与这些操作数匹配[重复]

    这个问题在这里已经有答案了 不知道发生了什么事 我查看了与此问题类似的其他帖子 但到目前为止没有解决方案有帮助 这是带有错误部分注释的代码 在某一时刻 它说 不起作用 而在代码的其余部分中 它说 include
  • 如何通过Task.ContinueWith创建传递?

    我想在原始任务结束时添加一个任务 但想保留原始结果和类型 附加任务仅用于记录目的 例如写入控制台等 例如 Task Run gt DateTime Now Hour gt 12 Hey throw new Exception Continu
  • Selenium WebDriver 在按钮单击事件上无法正常工作。这里有什么问题呢?

    I am using following code to scrape data from a website I have following interface 这是 HTML div class es content div

随机推荐

  • 正则表达式 - 是否可以找到重叠的组?

    我是正则表达式的新手 只是想知道是否可以在匹配中找到 重叠 组 假设以下字符串 20122 0029431 7094 0111 5890 我现在想要所有匹配项 4 个数字 空格 数字 空格 4 个数字 我尝试的是这样的 0 9 4 s 0
  • 如何在 Scala 中将列表分组为元组分组项?

    例如我如何转换 val list 1 to 10 toList into List 1 2 3 4 5 6 7 8 9 10 您可以使用groupedList类的方法 http www scala lang org api current
  • Touch ID 的 VoiceOver 辅助功能标签

    我正在努力确保我正在开发的 iOS 应用程序可以访问 并正在尝试实现 VoiceOver 来确保这一点 我找不到任何帮助的一件奇怪的事情是何时显示 Touch ID 视图 在我的情况下是登录应用程序 VoiceOver 将 ID 发音为单词
  • Android 64k 方法限制 56k 方法错误

    我在我的 Android 项目中收到此错误 Unable to execute dex method ID not in 0 0xffff 65536 Conversion to Dalvik format failed Unable to
  • 保存/恢复打印机 DevModes - wxPython / win32print

    到目前为止 我已经找到了两种不同的方法来从 wxPython 用户界面访问我认为等效版本的打印机 DevMode window wx GetTopLevelWindows 0 GetHandle name self itemMap devi
  • 交换浮点数和双精度数的“字节顺序”

    我想切换 float 和 double 值的 字节顺序 它可以通过执行以下操作来正常工作 float const v 1 f swap reinterpret cast lt std uint32 t const gt v 是否存在更好的方
  • 如何防止用户在ajax请求中通过firebug更改变量

    我允许我的用户收藏更新或论坛主题 因此 当用户尝试收藏其中之一时 我将通过 Ajax 2 发送内容 item id 更新或主题 作为 id 例如 1321313213 其类型 更新 或 主题 作为字符串 然而 假设有人尝试收藏某个更新 且
  • 清除Android ListView

    我有一个列表视图 我想动态更改列表视图的内容 我使用了 adapter notifyDataSetChanged 更改内容 我也尝试将列表视图的适配器设置为 null 但仍然得到相同的结果 它令人耳目一新 但不会清除列表视图 而是将其附加到
  • 从表中删除数据后Oracle释放空间

    我最近从数据库中的一些表中删除了大量数据 现在我希望释放该数据所占用的空间 之后我想重建索引 释放空间的最佳方法是什么 释放空间 是什么意思 当您删除数据时 块中的空间被释放 该空间现在可用于在您从中删除数据的表中进行后续插入 或更新 这通
  • Birt mongodb 参数

    我安装了 Birt 4 3 最新 作为 Eclipse 插件 JDBC 作为数据源非常适合我 我在查询中定义了一个参数 我可以通过报表设计在数据集中定义参数并将其链接到报表参数 但我对 MongoDB 有多个问题 1 当我打开 编辑数据集
  • 已声明但未设置的变量计算结果为 true?

    我正在用下面的代码做一个简单的计算器 现在它执行得很完美 然而 当我试图改变现状时 却行不通 我用了BOOL program检查是否继续询问该人的输入或完成该程序 如果我改变表达方式while声明只是 program 并改变YES NO i
  • CSS - 仅使用水平滚动条

    仅当 div 的内容长于宽度值时 我才需要使用水平滚动条 所以我写 viewgallerylist width 920px float left padding top 20px height 120px border bottom 1px
  • 如何正确处理从右到左的文本输入字段?

    我正在研究多语言布局 让我担心的是 如何正确处理文本输入 我已经建立了一个JSFiddle解释我的问题 如果我只是添加dir rtl 单词从右到左出现 但不是每个字符 如果我添加从右到左的 CSS 样式 包含的数字也会翻转 我如何组合数字和
  • 如何处理catch块中的异常?

    我正在尝试找到处理异常的理想方法 我用谷歌搜索并读到我应该放try catch in the catch块也可以处理 但是如果嵌套块本身发生任何异常怎么办 try int a 10 int b 0 int c a b Console Wri
  • OpenCV createsamples - 无效的背景描述文件

    我在我的OPENCV ROOT文件夹并在 Win x64 中运行以下命令 opencv createsamples bgcolor 0 bgthresh 0 maxxangle 1 1 maxyangle 1 1 maxzangle 0 5
  • 为什么在散列中向数组追加一个值也会修改分配它的其他变量?

    示例代码 hash of array a b hash of array c hash of array b a lt lt 1 puts b gt a 1 puts c gt a 1 为什么两个变量的数组中都有 1 我只将它附加到变量上b
  • 存储函数时如何传递预定义参数

    是否可以存储带有预定义参数的函数以供另一个函数调用 例如 def function num print num trigger function store function 1 trigger prints 1 trigger funct
  • 如何为 tts 创建自定义 sapi 语音

    我正在开发一个项目 需要为我的应用程序创建自定义语音引擎 我见过类似 TTS Builder 的东西 但是有人了解 TTS Builder 等应用程序本身是如何开发的吗 SAPI引擎背后的东西是什么 它们是如何工作的 一个人如何构建自己的
  • 如何使用AWS Lambda部署大型Python包?

    我需要一些建议 我使用 Tensorflow 训练了一个图像分类器 并希望使用它将其部署到 AWS Lambda无服务器 该目录包括模型 一些Python模块 包括tensorflow和numpy 以及Python代码 解压前完整文件夹的大
  • 如何在C++中获得不同向量的向量

    我想要一个 C 表示的表 如下所示 0 1 2 1 1 0 a 2 2 0 b 3 3 0 c 列的类型必须从int double or string在运行时 用 C 表达它的最佳方式是什么 附录 我真正的问题 我想要一个数据库表的列式表示