带指针的奇怪操作员
Strange operator with pointers
我正在阅读一些代码,并遇到了这件事。我现在没有整个上下文保存此行。
cout<<(*--*++ptr+1)<< endl;
我们在其中输入值时可以很好地编译并起作用..
它的声明就是这样。
char ***ptr ;
该操作员是什么,是否包含在标准中?
它不是单个操作员,它是几个单一操作员的组合。它被这样解析:
*(--(*(++ptr))) + 1
so,首先要递增ptr1
,然后再进行重新推荐,然后再次降低该值。
相关文章:
- 如何定义指针铸件操作员
- 当直接分配时,为什么此功能指针分配起作用,而不是与有条件的操作员一起使用
- 基本操作员具有非指针类型
- 操作员的地址可以启动指针,但填充值是垃圾
- 静态指针指向会员数组的安全操作员[]访问
- 提取操作员在使用来自其他类名的指针时超载
- 创建库以覆盖迭代器的操作员*() - 风险悬挂指针
- 调用指针参数从const函数指向的对象的操作员
- 如何迫使新操作员返回的指针将是32字节对齐
- (C 14)操作员&lt;&lt;超负荷无法正如智能指针向量所预期的那样工作
- C - 操作员 - =在指针上
- 操作员超载和 *该指针的麻烦
- 在操作员过载的情况下处理悬空指针/参考
- Ostream操作员Strangley不接受我的堆栈指针
- 我何时应该将指针从操作员函数中返回对象(而不是对象)
- 操作员=用双指针超载用于分数数学
- 带有超载操作员 的无访问地址的指针返回
- 带指针的奇怪操作员
- C /参考操作员和指针中的插座连接()函数说明
- 操作员指针过载