【发布时间】:2021-03-27 23:55:30
【问题描述】:
我试图 push_back number 到 @property std::deque,但是数据没有添加到 deque 并且它是空的
代码:
.h 文件
@interface HandTrackingViewController : CommonViewController
@property (readwrite, nonatomic) std::deque<double> vect;
@end
.mm 文件
#import "HandTrackingViewController.h"
@implementation HandTrackingViewController
- (void)mediapipeGraph:(MPPGraph*)graph
didOutputPacket:(const ::mediapipe::Packet&)packet
fromStream:(const std::string&)streamName {
...
...
...
for (int handIndex = 0; handIndex < multiHandLandmarks.size(); ++handIndex) {
...
for (int i = 0; i < landmarks.landmark_size(); ++i) {
self.vect.insert(self.vect.end(), {landmarks.landmark(i).x(), landmarks.landmark(i).y(), landmarks.landmark(i).z()});
}
for(int i=0; i < self.vect.size()-2; i+=3) {
NSLog(@"(%f, %f, %f)", self.vect[i], self.vect[i+1], self.vect[i+2]); // deque is empty
}
}
}
}
@end
但如果你创建一个中间双端队列并将其分配给 self.vect,那么它就可以工作
【问题讨论】:
标签: objective-c deque