社区
C++ 语言
帖子详情
问个基础问题:const CvMat* const * ppSrcImg
bsnry
2012-03-07 10:54:13
这是什么东西???
第一次见过
问题2:
const CvMat* pSrcImg[2]数组作为函数的参数, 会蜕化成什么??
...全文
164
8
打赏
收藏
问个基础问题:const CvMat* const * ppSrcImg
这是什么东西??? 第一次见过 问题2: const CvMat* pSrcImg[2]数组作为函数的参数, 会蜕化成什么??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qscool1987
2012-03-08
打赏
举报
回复
[Quote=引用楼主 bsnry 的回复:]
这是什么东西???
第一次见过
问题2:
const CvMat* pSrcImg[2]数组作为函数的参数, 会蜕化成什么??
[/Quote]
首先const CvMat* pSrcImg[2]会看做是const CvMat** pSrcImg;这个没问题吧
pSrcImg是一个数组,里面的元素是指针,指向CvMat类型
那继续看const修饰
比如这样的const CvMat* p;你明白它指向的内容不能改变
如果是这样const CvMat* const p;那么不仅指向的内容不能改变,而且他本身的值(也就是说p不能改变)
好了,在看const CvMat** pSrcImg;
它也只是一个指向CvMat*类型的指针罢了,前面加上const说明它指向的内容不能改变,那么它指向的内容是
CvMat*,也是一个指针,保存了一个地址,这个地址值是不能改变的,但是这个地址里面的值是可以改变的
但是如果改成:const CvMat* const* pSrcImg;那么一样来分析,前面一个const和上面一样解释,那中间这个你看是修饰 *,一级指针相当于const CvMat* p,这个时候就说明pSrcImg指向的指针再指向的内容不可以被修改
甚至还可能更复杂
const CvMat* const* cosnt pSrcImg;
不过一样分析
先把const全拿掉,那就是一个二级指针
然后把最左边这个加上去
变成const CvMat** pSrcImg;解释同上
然后把中间这个加上去,把左边这个拿掉
CvMat*const* pSrcImg;分析同上
再分析最后一个
CvMat** const pSrcImg;
修饰的是一个二级指针,不管它几级都是保存一个地址,说明它保存的地址不能被修改
--------------------------
像这种问题,*号多了你可能会觉得麻烦,但是你只要掌握一个规则就不会出错
你就看它右边的*号有几个,有几个*号就是修饰这个几级指针指向的内容罢了。如果没有就是修饰本身。
xiyoulaoyuanjia
2012-03-07
打赏
举报
回复
问题一:如下图
问题二
const CvMat**
bsnry
2012-03-07
打赏
举报
回复
3楼
gotojyh
2012-03-07
打赏
举报
回复
数组做参数变成指针
所以应该是 **
同意 pengzhixi
bsnry
2012-03-07
打赏
举报
回复
以前只见过: char const * p;
p是一个一级常量指针
把 char换成 const CvMat*
变成:const CvMat* const* p;
p指着一个常量指针。。。。。
一个指针能够指向一个指针,那么这个指针必须是二级指针啊。。。。
p是几级???? 变成了二级???
[Quote=引用 2 楼 pengzhixi 的回复:]
const CvMat* const * ppSrcImg;就是一个2级指针。
ppSrcImg指向的类型为const CvMat*const 也就是说ppSrcImg指向的元素类型本身是一个指针,而且该指针本身的指向不能被修改而且该指针指向的CvMat元素也不应该被修改。
const CvMat* pSrcImg[2]蜕化为const CvMat**
[/Quote]
pengzhixi
2012-03-07
打赏
举报
回复
const CvMat* const * ppSrcImg;就是一个2级指针。
ppSrcImg指向的类型为const CvMat*const 也就是说ppSrcImg指向的元素类型本身是一个指针,而且该指针本身的指向不能被修改而且该指针指向的CvMat元素也不应该被修改。
const CvMat* pSrcImg[2]蜕化为const CvMat**
bsnry
2012-03-07
打赏
举报
回复
高手呢, 坐等高手
bsnry
2012-03-07
打赏
举报
回复
3 楼
【计算机体系结构】基于PCIe的下游端口容错机制:DPC技术在错误 containment 与异步移除恢复中的应用设计
内容概要:本文档为PCI-SIG发布的工程变更通知(ECN),针对《PCI Express 基本规范 3.0》引入了一项名为“下游端口容错(Downstream Port Containment, DPC)”的新机制。DPC用于在检测到不可纠正错误时自动禁用下游端口链路,阻止错误数据包(TLP)继续传播,防止数据损坏扩散,并支持软件进行错误恢复。文档详细定义了DPC的触发条件、事务层行为、状态控制寄存器结构、中断与ERR_COR信号机制,以及对异步移除(async removal)事件的处理支持。同时补充了相关能力寄存器和配置位,确保硬件和软件可协同实现该功能。 适合人群:从事PCIe硬件设计、固
并网VSG自适应惯量阻尼调控及频率动态响应稳定性分析(Simulink仿真、
Mat
lab代码实现)
内容概要:本文系统研究了并网虚拟同步发电机(VSG)的自适应惯量阻尼调控策略及其对频率动态响应稳定性的影响,聚焦于VSG在并网工况下的惯量与阻尼协同自适应控制机制。通过构建Simulink仿真模型并结合
Mat
lab代码实现,深入分析VSG的动态特性、有功/无功功率响应及电网频率稳定性,采用根轨迹法评估不同调节系数对系统稳定性的敏感性,揭示其支撑电网频率稳定的能力。研究进一步拓展至微电网黑启动、预同步控制、虚拟阻抗技术以及双机VSG间的功率精确分配等关键应用场景,旨在应对高比例新能源接入带来的系统惯量下降与频率稳定挑战,提升电力系统的韧性与可靠运行水平。; 适合人群:具备电力系统分析、自动控制理论及新能源并网技术背景,熟练掌握
Mat
lab/Simulink仿真工具,从事电气工程、能源互联网、微电网控制等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入探究VSG在并网模式下惯量与阻尼参数的自适应协同调控原理与实现方法;②系统分析VSG控制策略对电网频率动态响应过程的影响规律与稳定边界;③通过仿真实践掌握VSG关键控制参数(如虚拟惯量、阻尼系数)的设计、整定及其对系统性能影响的量化评估;④为微电网的自主黑启动、无缝并网及高渗透率可再生能源系统的频率稳定控制提供先进的技术方案与决策依据。; 阅读建议:建议读者结合文中提供的完整
Mat
lab代码与Simulink模型进行动手仿真实验,重点关注控制策略的模块化设计逻辑、参数动态调整过程与系统整体性能之间的关联,务必结合电力系统小信号稳定性分析理论,深入理解根轨迹、特征值等分析结果所蕴含的物理意义,从而实现从理论到实践的贯通。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章