例如,如果方法定义如下:
ILDCRTParams &GetParams() const;
这有什么不同:
ILDCRTParams& GetParams() const;
我正在使用C ++ 11。
答案 0 :(得分:6)
它们完全一样。返回类型为from OpenGL.GL import *
from OpenGL.GLU import *
from PyQt4 import QtGui
from PyQt4.QtOpenGL import *
class MainWindow(QtGui.QWidget):
def __init__(self):
super(MainWindow, self).__init__()
self.widget = glWidget(self)
self.button = QtGui.QPushButton('Test', self)
mainLayout = QtGui.QHBoxLayout()
mainLayout.addWidget(self.widget)
mainLayout.addWidget(self.button)
self.setLayout(mainLayout)
class glWidget(QGLWidget):
def __init__(self, parent):
QGLWidget.__init__(self, parent)
self.setMinimumSize(640, 480)
def paintGL(self):
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glLoadIdentity()
glTranslatef(-2.5, 0.5, -6.0)
glColor3f( 1.0, 1.5, 0.0 );
glPolygonMode(GL_FRONT, GL_FILL);
glBegin(GL_TRIANGLES)
glVertex3f(2.0,-1.2,0.0)
glVertex3f(2.6,0.0,0.0)
glVertex3f(2.9,-1.2,0.0)
glEnd()
glFlush()
def initializeGL(self):
glClearDepth(1.0)
glDepthFunc(GL_LESS)
glEnable(GL_DEPTH_TEST)
glShadeModel(GL_SMOOTH)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45.0,1.33,0.1, 100.0)
glMatrixMode(GL_MODELVIEW)
if __name__ == '__main__':
app = QtGui.QApplication(['Yo'])
window = MainWindow()
window.show()
app.exec_()
答案 1 :(得分:1)
不,他们的意思完全相同。 C ++是一种基于令牌的语言,除了充当分隔符之外,空格在令牌之间无关紧要。你可以把它写成
ILDCRTParams &GetParams() const;
ILDCRTParams& GetParams() const;
ILDCRTParams&GetParams() const;
ILDCRTParams & GetParams() const;
甚至
ILDCRTParams &GetParams( )const;
意义没有任何改变。
从语义上讲,&
有效地修改了ILDCRTParams
,但在语法上,它修改了GetParams()
:&GetParams()
指定GetParams()
返回引用。出于这个原因,有些人更喜欢将其放在ILDCRTParams
旁边,而是GetParams()
旁边的其他人。