这是一个包含在类中的重载运算符:
inline operator const FOO() const { return _obj_of_type_FOO; }
我不能为我的生活理解:
答案 0 :(得分:0)
如果Foo是一个类型且它在一个类中,那个表达式看起来像转换运算符的声明。第二个const
(靠近开头大括号的那个)意味着可以在Foo foo = c
个实例上调用转换。让我们说类是C.您可以将转换运算符视为类外的构造函数。例如,您不能将构造函数添加到类std :: string中,但您可以将std :: string的转换运算符添加到类中。结果是您可以从类实例构造std :: string。
1)如何调用转换运算符:通过从C构造Foo类型的值,例如:
void funOnFoo(Foo v);
(其中c是C的实例,声明转换运算符的类)。请注意,转换的调用可能会隐式发生。例如,如果您有c
和C
operator const Foo
的实例,则可能隐含地调用funOnFoo(c)
:funOnFoo
。这是否真的取决于通常的事情:是否存在C
的其他重载,const Foo
的其他转换等。
2)返回值为inline
3)global $wpdb;
$_POST['user_id'];
$_POST['div_id'];
$_POST['x_pos'];
$_POST['y_pos'];
$user_id = $_POST['user_id'];
$div_id = $_POST['div_id'];
$x_pos = $_POST['x_pos'];
$y_pos = $_POST['y_pos'];
$wpdb->query($wpdb->prepare(" INSERT INTO coords
(user_id, div_id, x_pos, y_pos)
VALUES (%d, %s, %d, %d)
ON DUPLICATE KEY UPDATE
x_pos = VALUES(x_pos), y_pos = VALUES(y_pos)",
$user_id,
$div_id,
$x_pos,
$y_pos
));
与任何函数的含义相同,特别是不影响重载决策