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 使用杂记相关推荐

  1. [原创]商城系统下单库存管控系列杂记(二)(并发安全和性能部分延伸)

      商城系统下单库存管控系列杂记(二)(并发安全和性能部分延伸)     前言   参与过几个中小型商城系统的开发,随着时间的增长,以及对系统的深入研究和测试,发现确实有很多值得推敲和商榷的地方(总有 ...

  2. Webpack系列-第一篇基础杂记

    系列文章 Webpack系列-第一篇基础杂记 Webpack系列-第二篇插件机制杂记 Webpack系列-第三篇流程杂记 前言 公司的前端项目基本都是用Webpack来做工程化的,而Webpack虽然 ...

  3. 黯然微信小程序杂记(三):微信小程序实现倒计时功能 附讲解教学 附源码

    黯然微信小程序杂记(三):微信小程序实现倒计时功能 附超详细注释 附源码 一.功能描述 二.界面展示 三.test.wxml代码 四.test.js代码(注释很详细 很易懂) CSDN私信我,有关微信 ...

  4. 黯然微信小程序杂记(二):小程序最新版登录并进行缓存模块的实现 附源码

    黯然微信小程序杂记(二):小程序最新版登录进行缓存模块的实现 附源码 一.功能描述 二.mine.wxml界面图片 三.mine.wxml代码 四.mine.wxss代码 五.mine.js代码 六. ...

  5. 黯然微信小程序杂记(一):从服务器获取数据 后端语言php

    黯然学编程 之 微信小程序杂记(一):从服务器获取数据 后端语言php 一.功能描述 二.服务器.数据库与微信小程序逻辑的关系 服务器 数据库 与微信小程序逻辑关系 三.请求数据的代码(可当做模板用) ...

  6. SpringMVC杂记

    SpringWebflow杂记(一) 框架初探,与SpringMVC的集成 SpringMVC杂记(一) 文件上传 SpringMVC杂记(二) 使用@ResponseBody出现乱码解决方法 Spr ...

  7. webpack-插件机制杂记

    系列文章 Webpack系列-第一篇基础杂记 webpack系列-插件机制杂记 前言 webpack本身并不难,他所完成的各种复杂炫酷的功能都依赖于他的插件机制.或许我们在日常的开发需求中并不需要自己 ...

  8. Armadillo脱壳练习笔记(一)

    加壳工具:Armadillo_Custom4.40.0250 脱壳工具:armadillo-fp壳分析,ICEODBG.exe,ImportRec16f.exe 目标程序:CrackMe.exe  ( ...

  9. Python 网络服务相关 杂记

    个人所有文章整理在此篇,将陆续更新收录:知无涯,行者之路莫言终(我的编程之路) 本文杂记了下面一些点 [1].Python的原生版Socket [2].python自带的模块:`wsgiref`的简单 ...

最新文章

  1. 安装python后如何打开-Python的安装与使用
  2. 无人再谈CV:计算机视觉公司的困境
  3. sv队列和动态数组的区别_systemverilog学习(4)动态数组
  4. mysql跨服务器查询插入_Oracle跨服务器查询插入数据
  5. 程序布置到服务器上速度慢_百战程序员python面试题总结---高级语法(4)
  6. 在cell中自定义分割线的小技巧
  7. struts2 - View页面中获取Action的成员变量
  8. Excel空值导入mysql_Excel数据导入Sql Server出现Null
  9. jira 查找issue_Python操作Jira方法
  10. Windows 10 下如何显示文件的后缀名
  11. I'm just a baby——8月份英语总结
  12. java-工作时突发的一个天马行空的想法
  13. MVP衣明志——15年技术生涯
  14. 方波的产生——运算放大器LM324产生方波
  15. 七、jQuery动画特效(二)
  16. MySQL存储过程与存储函数
  17. 【Python】编写函数计算圆的面积
  18. 【linux】Could not update ICEauthority file /home/xxx/.ICEauthority问题解决
  19. 书呆子rico_Excel书呆子的夏季赠品
  20. c#语言float转换int,关于C#:在x86上将float转换为int的最快方法是什么

热门文章

  1. 考研学校的爬虫(自己写的可能会有点菜
  2. uniapp本地数据库_Uniapp教程|App/uni-app离线本地存储方案
  3. 什么是谐波?谐波的危害
  4. BIM+GIS技术融合发展 成为工程规划建设新热点
  5. SQLT(SQLTXPLAIN)
  6. 【FPGA】Spartan®-7器件XC7S75-1FGGA484C、XC7S15-1FTGB196C现场可编程门阵列芯片
  7. pandas数据分析美国各区人口普查案例
  8. java 方法互斥_java – 互斥方法
  9. 微信公众号推送图文消息
  10. 万龙链——广应用场景,强价值背书,催生无限可能