armadillo 使用杂记
2022.10.06
验证矩阵首地址与首元素首地址的关系
验证矩阵中元素的存储方式
做以下实验
mat m;//输出矩阵头位置cout<<&m<<endl;m<<4<<6<<3<<endr<<1<<3<<1<<endr<<3<<5<<1<<endr;//输出每个元素位置for(int i=0;i<3;i++){for(int j=0;j<3;j++){cout<<&m(i,j)<<" ";}cout<<endl;}mat q;//输出矩阵头位置cout<<&q<<endl;q<<4<<6<<3<<endr<<1<<3<<1<<endr<<3<<5<<1<<endr;//输出每个元素位置for(int i=0;i<3;i++){for(int j=0;j<3;j++){cout<<&q(i,j)<<" ";}cout<<endl;}
矩阵首地址与首元素首地址总是差30H
矩阵元素位置是列优先存储,每个元素首地址间隔8H
在某些情况下,需要用到矩阵指针,例如在函数体内对矩阵赋予元素。
#include <iostream>
#include <math.h>
#include <armadillo>
using namespace std;
using namespace arma;void getmat(mat *a);
int main()
{mat *a = new mat();getmat(a);//输出每个元素及地址for(int i=0;i<3;i++){for(int j=0;j<3;j++){cout<<&a->at(i,j)<<" "<<a->at(i,j)<<" ";}cout<<endl;}
}void getmat(mat *a){mat m;m<<4<<6<<3<<endr<<1<<3<<1<<endr<<3<<5<<1<<endr;//输出每个元素及地址for(int i=0;i<3;i++){for(int j=0;j<3;j++){cout<<&m(i,j)<<" "<<m(i,j)<<" ";}cout<<endl;}cout<<endl;*a = m;}
使用指针时,赋值和取值不能再使用mat(i,j)的方式,应当使用其成员方法at,使用*mat->(i,j)的方法进行重赋值(即原有位置上已有值的情况下)和取值,需要注意的是,at不会做边界检查,访问越界元素不会报错。
armadillo 使用杂记相关推荐
- [原创]商城系统下单库存管控系列杂记(二)(并发安全和性能部分延伸)
商城系统下单库存管控系列杂记(二)(并发安全和性能部分延伸) 前言 参与过几个中小型商城系统的开发,随着时间的增长,以及对系统的深入研究和测试,发现确实有很多值得推敲和商榷的地方(总有 ...
- Webpack系列-第一篇基础杂记
系列文章 Webpack系列-第一篇基础杂记 Webpack系列-第二篇插件机制杂记 Webpack系列-第三篇流程杂记 前言 公司的前端项目基本都是用Webpack来做工程化的,而Webpack虽然 ...
- 黯然微信小程序杂记(三):微信小程序实现倒计时功能 附讲解教学 附源码
黯然微信小程序杂记(三):微信小程序实现倒计时功能 附超详细注释 附源码 一.功能描述 二.界面展示 三.test.wxml代码 四.test.js代码(注释很详细 很易懂) CSDN私信我,有关微信 ...
- 黯然微信小程序杂记(二):小程序最新版登录并进行缓存模块的实现 附源码
黯然微信小程序杂记(二):小程序最新版登录进行缓存模块的实现 附源码 一.功能描述 二.mine.wxml界面图片 三.mine.wxml代码 四.mine.wxss代码 五.mine.js代码 六. ...
- 黯然微信小程序杂记(一):从服务器获取数据 后端语言php
黯然学编程 之 微信小程序杂记(一):从服务器获取数据 后端语言php 一.功能描述 二.服务器.数据库与微信小程序逻辑的关系 服务器 数据库 与微信小程序逻辑关系 三.请求数据的代码(可当做模板用) ...
- SpringMVC杂记
SpringWebflow杂记(一) 框架初探,与SpringMVC的集成 SpringMVC杂记(一) 文件上传 SpringMVC杂记(二) 使用@ResponseBody出现乱码解决方法 Spr ...
- webpack-插件机制杂记
系列文章 Webpack系列-第一篇基础杂记 webpack系列-插件机制杂记 前言 webpack本身并不难,他所完成的各种复杂炫酷的功能都依赖于他的插件机制.或许我们在日常的开发需求中并不需要自己 ...
- Armadillo脱壳练习笔记(一)
加壳工具:Armadillo_Custom4.40.0250 脱壳工具:armadillo-fp壳分析,ICEODBG.exe,ImportRec16f.exe 目标程序:CrackMe.exe ( ...
- Python 网络服务相关 杂记
个人所有文章整理在此篇,将陆续更新收录:知无涯,行者之路莫言终(我的编程之路) 本文杂记了下面一些点 [1].Python的原生版Socket [2].python自带的模块:`wsgiref`的简单 ...
最新文章
- 安装python后如何打开-Python的安装与使用
- 无人再谈CV:计算机视觉公司的困境
- sv队列和动态数组的区别_systemverilog学习(4)动态数组
- mysql跨服务器查询插入_Oracle跨服务器查询插入数据
- 程序布置到服务器上速度慢_百战程序员python面试题总结---高级语法(4)
- 在cell中自定义分割线的小技巧
- struts2 - View页面中获取Action的成员变量
- Excel空值导入mysql_Excel数据导入Sql Server出现Null
- jira 查找issue_Python操作Jira方法
- Windows 10 下如何显示文件的后缀名
- I'm just a baby——8月份英语总结
- java-工作时突发的一个天马行空的想法
- MVP衣明志——15年技术生涯
- 方波的产生——运算放大器LM324产生方波
- 七、jQuery动画特效(二)
- MySQL存储过程与存储函数
- 【Python】编写函数计算圆的面积
- 【linux】Could not update ICEauthority file /home/xxx/.ICEauthority问题解决
- 书呆子rico_Excel书呆子的夏季赠品
- c#语言float转换int,关于C#:在x86上将float转换为int的最快方法是什么