' - >'操作者

时间:2016-06-18 12:38:36

标签: c++ pointers reference

问这个相当“愚蠢”的问题的原因是我真的不知道如何谷歌它或如何在这里搜索它。问题是关于' - >'运算符,可用于从对象的引用访问方法和变量。例如:

df1 <- structure(list(timestamp = c("01-12-2015 00:04", "01-12-2015 02:20", "01-12-2015 02:43", "01-12-2015 04:31", "01-12-2015 08:51", 
                                    "01-12-2015 11:28", "01-12-2015 20:53", "01-12-2015 21:28", "02-12-2015 00:30", "02-12-2015 20:22")),
                 .Names = "timestamp", class = "data.frame", row.names = c(NA,-10L))

我不知道这个( - &gt;)运算符被调用了什么,我不能谷歌搜索它或者在SO搜索时找到它,因为nether会为特殊的carachter'&gt;'而灼热。

问题:

  1. 我在哪里可以找到有关此主题的更多信息?
  2. 什么叫做。
  3. 据我所知,到目前为止,( - &gt;)操作是某种“语法糖”,用于取消对象并访问其成员。这个操作的“非语法”是什么。
  4. 提前为我的菜鸟英语道歉! 那是你的时间!

2 个答案:

答案 0 :(得分:1)

箭头操作员。它用于访问指针指向的对象的成员。通常你只需要使用点:

Rectangle r;
r.length = 5;

但是当对象是指针时,我们会

Rectangle* r = new Rectangle;
r->length = 5;

的缩写形式
(*r).length = 5;

答案 1 :(得分:0)

首先,它被称为import numpy as np import cv2 dirOC = 'ImgDir_OriC\\' dirTC = 'ImgDir_TransC\\' suffix = '.bmp' fCount = 11 count = 0 MAX = 10 while(count < MAX ): fNameO = dirOC + str(fCount) + suffix fNameT = dirTC + str(fCount) + suffix print fNameO print fNameT imgO = cv2.imread(fNameO, cv2.IMREAD_COLOR) prvs = cv2.cvtColor(imgO,cv2.COLOR_BGR2GRAY) imgT = cv2.imread(fNameT, cv2.IMREAD_COLOR) next = cv2.cvtColor(imgT,cv2.COLOR_BGR2GRAY) flow = cv2.calcOpticalFlowFarneback(prvs,next, 0.5,3,15,15,3,5,1) mag, ang = cv2.cartToPolar(flow[...,0], flow[...,1]) hsv = np.zeros_like(imgO) hsv[...,1] = 255 hsv[...,0] = ang*180/np.pi/2 hsv[...,2] = cv2.normalize(mag,None,0,255,cv2.NORM_MINMAX) bgr = cv2.cvtColor(hsv,cv2.COLOR_HSV2BGR) cv2.imshow('flow',bgr) diff = np.zeros_like(prvs) cv2.subtract(prvs,next,diff) cv2.imshow('diff',diff) cv2.imwrite('flow'+str(fCount) + '.png',bgr) cv2.imwrite('diff'+str(fCount) + '.png',diff) fCount = fCount +1 count = count +1 cv2.waitKey(0) # <<<<<<< inside the while loop cv2.destroyAllWindows() (或简称,只是箭头)

此运算符的工作方式如下:

pointers - Arrow operator