【问题标题】:Assigning datatype for variables dynamically in CPP在 CPP 中为变量动态分配数据类型
【发布时间】:2019-05-16 17:49:52
【问题描述】:

我有一个名为Matrix 的类,其中有两个变量要定义rowscolumns

问题:
在类的构造函数中,我想动态分配行和列的值以及数据类型。

有没有办法在 c++ 中做到这一点?

示例:
在Matrix类的实例M1中,行和列的数据类型设置为long long int,在Matrix类的实例M2中,数据类型为int

【问题讨论】:

  • 你说的是模板Matrix吗?请注意,模板需要在编译时展开。
  • @πάνταῥεῖ 实际上是 cpp 的新手,所以不太确定
  • 不幸的是,这个问题有点含糊。您能否详细说明并提供一些示例代码来说明您要实现的目标,例如 Matrix 在使用时应该是什么样子?通常,所有类型在 C++ 的编译时都是固定的。您不能(方便地)在运行时使用 intlong long 之间切换。
  • @AmeyMeher 因为您是 C++ 新手,所以应该告知您 C++ 是一种非常复杂的语言。有很多方法可以在技术上实现您的要求,还有更多方法可以非常错误地做到这一点,并且通常需要专家来区分。在你学习的时候,你应该给自己一个good C++ book并仔细阅读。
  • @πάνταῥεῖ 没错!感谢您的链接!至少知道如何解决这个问题

标签: c++


【解决方案1】:

在类的构造函数中,我想动态地分配值以及行和列的数据类型。有没有办法在 c++ 中做到这一点?

简而言之:您不能使用当前标准(从 c++-17 开始)。

需要在编译时解析数据类型。在 C++ 中,我们使用模板类在类中使用通用数据类型。但是,这些仍然必须在编译时解决。

您可以使用许多技巧,在运行时编译时从那些编译时生成的类型中进行选择。

提供解决方法的相关问答:

可能还有更多...

【讨论】:

    猜你喜欢
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 2014-01-06
    • 2014-07-02
    • 1970-01-01
    相关资源
    最近更新 更多