在 C++ 中返回浮点数组

2024-06-23

我目前有一个 C++ 中的 4x4 矩阵类,并将每个值存储为浮点数:

Matrix4d::Matrix4d(const float& m00, const float& m01, const float& m02, const float& m03,
                   const float& m10, const float& m11, const float& m12, const float& m13,
                   const float& m20, const float& m21, const float& m22, const float& m23,
                   const float& m30, const float& m31, const float& m32, const float& m33)
{
    _m00 = m00;
    _m01 = m01;
    _m02 = m02;
    _m03 = m03;
    _m10 = m10;
    _m11 = m11;
    _m12 = m12;
    _m13 = m13;
    _m20 = m20;
    _m21 = m21;
    _m22 = m22;
    _m23 = m23;
    _m30 = m30;
    _m31 = m31;
    _m32 = m32;
    _m33 = m33;
}

我的问题是,如何返回该数据的浮点数组?我在类中创建数组没有问题,例如:

float arrayToReturn[16] = { m00, m01, m02, m03, ... m33 };

但是我无法从类中返回这个值。我读过有关返回指向数组的指针的内容,但没有成功。


  1. 不要通过常量引用传递浮点数,而是通过值传递它们。

  2. 我假设您想返回数组以便可以进行索引?然后不要从矩阵类返回数组。相反,超载[]运营商什么的。

  3. 另外,我不会使用 16 个成员变量,而是使用一个数组。使索引变得更加容易。

我可能会这样做:

class Matrix4d
{
    float matrix[4][4];

public:

    Matrix4d(float m00, float m01, float m02, float m03,
             float m10, float m11, float m12, float m13,
             float m20, float m21, float m22, float m23,
             float m30, float m31, float m32, float m33)
    {
        matrix[0][0] = m00;
        matrix[0][1] = m01;
        matrix[0][2] = m02;
        matrix[0][3] = m03;
        matrix[1][0] = m10;
        matrix[1][1] = m11;
        matrix[1][2] = m12;
        matrix[1][3] = m13;
        matrix[2][0] = m20;
        matrix[2][1] = m21;
        matrix[2][2] = m22;
        matrix[2][3] = m23;
        matrix[3][0] = m30;
        matrix[3][1] = m31;
        matrix[3][2] = m32;
        matrix[3][3] = m33;
    }

    float* operator[](int i)
    {
        return matrix[i];
    }

    const float* operator[](int i) const
    {
        return matrix[i];
    }
};

int main()
{
    Matrix4d test(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 16);
    test[3][2] = 15;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C++ 中返回浮点数组 的相关文章

  • MVC。网络错误:初始化字符串的格式不符合从索引 0 开始的规范

    我的连接字符串是
  • 求 a 范围内的 pow(a^b)modN

    对于给定的b and N以及一系列a say 0 n 我需要找到ans 0 n 1 where ans i 没有a s为此pow a b modN i 我在这里搜索的是可能的重复pow a b modN对于一系列a 以减少计算时间 例子 i
  • OWIN AuthenticationOptions 在 mvc5 应用程序中运行时更新

    Hi 情况如下 我在 iis 7 上有一个带有 Identity 2 的 MVC 5 应用程序 该应用程序为多个网站提供服务 主机名是某些网站的关键 网站 另一个网站 等等 我决定在我的所有网站上使用谷歌外部登录 每个网站都应该是带有个人
  • 使用索引避免迭代器失效,维护干净的接口

    我创建了一个MemoryManager
  • 以编程方式更改 Excel 中的字体(Trebuchet MS、Calibari)C#

    我目前正在使用一个 C 应用程序 该应用程序有一个将生成 Excel 文件的类 一切都很顺利 Excel 工作表上填充的数据具有 Times New Roman 字体 我想将其更改为其他字体 Calibari 我怎样才能以编程方式做到这一点
  • 错误 C2065:'cout':未声明的标识符

    我正在处理我的编程作业的 驱动程序 部分 但我不断收到这个荒谬的错误 错误 C2065 cout 未声明的标识符 我什至尝试过使用std cout但我收到另一个错误 IntelliSense 命名空间 std 没有成员 cout 当我宣布u
  • ObjectTrackingEnabled 和 linq-to-sql

    I read here http www sidarok com web blog content 2008 05 02 10 tips to improve your linq to sql application performance
  • 使用私有构造函数的 C# 单元测试类?

    好吧 我刚刚收到一个作业 我必须对具有私有构造函数的类执行单元测试 现在 当所有方法也都是非静态时 我该如何在不初始化类的情况下进行单元测试 有什么方法可以对具有私有构造函数的类进行单元测试 无需反射 如果您无法将类公开 您仍然可以通过以下
  • 持续运行的 C# 代码 - 服务还是单独的线程?

    我有一个 NET 4 Web 应用程序 它有 3 个关联的独立项目 DAL BAL 和 UI 我正在使用实体框架进行数据库交互 我有代码循环遍历一堆数据库数据 根据找到的内容调用方法 然后更新数据库 我希望这段代码一直运行 同时 我希望用户
  • UWP - 绑定枚举差异

    我遇到了一个非常有趣的问题 假设 UWP 应用中有以下 XAML 页面内容
  • 从数组中删除空字符串,同时保持记录而不循环?

    这个问题在这里被问到 从数组中删除空字符串 同时保留非空字符串的索引记录 https stackoverflow com questions 18113243 remove empty strings from array while ke
  • 内存不足异常

    我正在使用 C 和 asp net 开发一个网络应用程序 我一直收到内存不足的异常 该应用程序的作用是从数据源读取一堆记录 产品 可能是数百 数千 通过向导中的设置处理这些记录 然后使用处理的产品信息更新不同的数据源 虽然有多个 DB 类
  • 如何在Windows Azure上调用ffmpeg.exe转换音频文件?

    我在 Windows Azure 上运行 Web 角色来接收 AAC 音频文件 通过 base64 字符串上传 并将它们存储到 blob 中 现在效果很好 接下来 我还必须将它们转换为 MP3 并将 MP3 存储到 blob 中 我决定使用
  • 剥离 OLE 标头信息 (MS Access / SQL Server)

    我有一个 C 应用程序需要支持二进制数据库内容 图像等 当使用 MS Access 或 MS SQL Server 时 此数据被包装在 OLE 对象内 如何去除此 OLE 标头信息 请注意 我不能只查找特定标签的开头 因为内容可以是 png
  • 为什么 ASP.Net MVC Range 属性采用类型?

    我只是想知道为什么范围验证属性可以采用类型和两个字符串作为参数 这是为了根据枚举或类似的东西验证字符串吗 另外 我想做的是找到一种简单的方法来验证必须出现在枚举中的 3 个字符的字符串 有什么建议吗 谢谢 亚历克斯 我确实发现你提到的 Ra
  • PC 上 XNA 中的信箱和缩放

    有没有一种方法可以让我基本上以 1080p 或 720p 作为默认分辨率来开发 XNA 游戏 然后根据设置的分辨率将游戏中的所有内容缩放到适当的大小 而不必在每个 Sprite 中设置缩放因子Draw 方法 我的想法是 我可以基于 1080
  • 更快的 WinSock sendto()

    我使用的是 Windows Server 2008 我的程序是用 C 编写的 我在 while true 循环中使用 WinSock2 和 sendto 来发送数据包 代码如下 while true if c snd gt max c sn
  • 使用反射检测属性的访问修饰符类型

    我编写了一些代码来使用反射查看属性 我已经使用反射从类中检索了属性列表 但是我需要查明该财产是公共的还是受保护的 例如 public string Name get set protected int Age get set Propert
  • 具有可导出私钥的证书的“错误密钥”例外

    我正在尝试使用非对称加密来加密然后解密文件 我已经使用 makecert 创建了一个测试证书并将其安装到我的个人本地计算机存储中 将来我必须在多个服务器上安装此证书 这就是为什么我使用 pe 标志创建它 即使用可导出的私钥 证书已成功创建并
  • 从不同的线程访问对象

    我有一个服务器类 它基本上等待来自客户端的连接 在该类中 我创建了一个 NetworkStream 对象 以便能够从客户端接收字节 由于 NetworkStream Read 方法不是异步的 这意味着它将等到从客户端读取字节才能继续执行类似

随机推荐

  • 如何从 SYSOUT 中删除 DFSORT 消息

    DFSORT 有多个消息 由具有多个排序操作的 COBOL 程序内部使用 我想删除那些 DFSORT 消息并仅保留 COBOL 程序中的消息 你有三个选择 使用 OUTDD ddname Enterprise COBOL 编译器选项更改用于
  • 使用 Retrofit 获取 api

    我有一个网络服务链接 我想用不同的 customerId 来访问它 其形式为 http apidev myserver com au 8980 TestService rest TestService jobs bycustid custo
  • 使图像跟随鼠标指针

    我需要一个火箭来跟随鼠标指针在我的网站上的移动 这意味着它应该旋转以面向运动方向 并且如果可能的话 根据它必须经过的距离加速 这可能吗 也许是jquery 通过使用 jquery 将 mousemove 注册到文档 将图像 css left
  • 为什么需要在 JavaScript 中冻结对象?

    我不清楚何时有人需要使用Object freeze在 JavaScript 中 MDN 和 MSDN 没有提供有用的现实生活示例 我知道尝试在运行时更改这样的对象意味着崩溃 问题是 我什么时候会欣赏这次崩溃 对我来说 不变性是一个设计时间约
  • 如何将文字转换为十六进制值

    从文本文件中读取 2 个字符的值的十六进制表示形式 例如 0C 我需要将相应的十六进制值 X 0C 存储在程序变量中 如以下代码所示 我知道 COBOL 允许执行诸如 MOVE X 0C TO somevariable 之类的操作 但在我的
  • 如果参数不存在,Spring 4.1.5 MVC @RequestParam(required = false, value = "somevalue") 将失败

    我有一个 spring mvc 控制器 它正在为具有多个请求参数的 Web 服务请求提供服务 所有参数均已标注required false 如果请求中的参数不可用 RequestMapping value service deployNew
  • Vue.js 拦截器

    我怎样才能使用interceptor in vue js 因此 在每个请求 响应之前 它应该首先进入拦截器 我已经搜索了很多 但找不到关于此的好的文档 我想像这样使用 JWTAuth function define use strict d
  • 瓦丁组合框

    我想创建 Vaadin 下拉菜单 其中有 2 个分隔符 我找不到实现该方法的方法 任何人都可以帮助我解决这个问题吗 这是我想要显示下拉列表的方式 Option 1 Option 2 select 1 select 2 group 1 我怎样
  • PromQL 查询查找上周使用的 CPU 和内存

    我正在尝试编写一个 Prometheus 查询 它可以告诉我每个命名空间在一段时间内 比如一周 使用了多少 CPU 以及另一个用于内存和网络的百分比 我尝试使用的指标是container spec cpu shares and contai
  • 升级到iOS9后登录流程失败

    将我的应用程序升级到 iOS9 后 我的应用程序中出现错误 内容如下 objc 344 无法形成对 LoginVC 类的实例 0x15919e00 的弱引用 该对象可能被过度释放 或者正在释放过程中 下面是我收到此错误的函数 void di
  • JSON-C 中的内存泄漏

    我搜索了两天 但找不到我的内存泄漏 我尝试了很多想法 但现在我可以确认泄漏位于我使用 json c lib 的 cpp 文件中 这是一个例子 define mark one 6 define mark two 18 define mark
  • Laravel 5 和奇怪的 bug:后面的大括号

    每当我在 Laravel 网站上回顾历史时 我看到的响应是这样的 当我前进到之前的位置时 它也显示了那些括号 如果我在 Chrome 中使用 禁用缓存 选项启动开发人员工具 则不会出现此问题 这Content Type返回的内容确实是app
  • 函数的局部变量是如何从栈中访问的?

    From http www learncpp com cpp tutorial 79 the stack and the heap http www learncpp com cpp tutorial 79 the stack and th
  • 在flex中调用Win32 API设置窗口显示亲和力

    我使用 Adob e Air 创建了一个 Flex 桌面应用程序 我需要保护应用程序不被捕获 通过改变应用程序的窗口显示亲和力 可以保护应用程序不被捕获 如何在flex中使用win API 还有其他方法可以保护窗口不被捕获吗 首先你必须确保
  • 维护 JTextArea 滚动位置

    我有一个 JScrollPane 其视图端口设置为 JTextArea 我大约每秒一次连续更新 JTextArea 上显示的 多行 文本 每次文本更新时 JScrollPane 都会一直到达文本的底部 相反 我想找出当前显示为原始文本中第一
  • 实现你自己的 sizeof [重复]

    这个问题在这里已经有答案了 可能的重复 不使用 sizeof 的数据类型的大小 https stackoverflow com questions 1219199 size of a datatype without using sizeo
  • EF 6 从没有导航属性的其他表中选择

    我有一个小问题需要帮助解决 我有以下情况 例如 我想选择所有养狗的学生 我有 2 张桌子 students id name petid pet id name 但是它们之间没有指定的外键 没有导航属性 虽然我有但没有指定它并且我不想要我的情
  • 如何在 IntelliJ IDEA 中构建 OS X Java 应用程序包?

    我正在尝试在 IntelliJ IDEA 中为 mac 构建一个 Java 应用程序 苹果开发者文档说我需要做一个Java 应用程序包 http developer apple com library mac documentation J
  • 在 Mac OS X 上升级 Ruby

    我正在阅读 Programming Ruby 一书 并希望升级我计算机上的 Ruby 版本 我运行 Mac OS X Snow Leopard 并在命令行中执行 ruby v 显示我正在运行 Ruby 1 8 7 我安装了 MacPorts
  • 在 C++ 中返回浮点数组

    我目前有一个 C 中的 4x4 矩阵类 并将每个值存储为浮点数 Matrix4d Matrix4d const float m00 const float m01 const float m02 const float m03 const