由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问两个C++语法问题
相关主题
把一个function pointer作为参数传入一个function的语法是什么?请教各路C++大神 为什么f(3) 输出是 'dd'
用STL map的时候怎么自己定义大小比较的关系请问这是什么语法(C++)?
请教一个boost::bind的问题c++ operator overloading question
请教一个C++ typedef的问题C puzzle 一日一题
请教C++ call-by-ref & call-by-val的问题c++ 语法
java如何保护传入的参数不被函数改动?问一个 char * 和 char [] 的问题
C++ implicit typename的问题请教一个const pointer的问题
问题question regarding const function
相关话题的讨论汇总
话题: const话题: foo话题: constexpr话题: c++话题: delete
进入Programming版参与讨论
1 (共1页)
A*******e
发帖数: 2419
1
在别人程序里看到的。
constexpr const char* x = "hello";
这里面的constexpr const是什么意思?
const X& foo() & {
...
}
第二个&是什么意思?
C++进化忒快了。
A*******e
发帖数: 2419
2
顶。

【在 A*******e 的大作中提到】
: 在别人程序里看到的。
: constexpr const char* x = "hello";
: 这里面的constexpr const是什么意思?
: const X& foo() & {
: ...
: }
: 第二个&是什么意思?
: C++进化忒快了。

h**********c
发帖数: 4120
3
the second looks like defining a functor reference.
d********t
发帖数: 9628
4
第一个是C++11加进来的吧

【在 A*******e 的大作中提到】
: 在别人程序里看到的。
: constexpr const char* x = "hello";
: 这里面的constexpr const是什么意思?
: const X& foo() & {
: ...
: }
: 第二个&是什么意思?
: C++进化忒快了。

A*******e
发帖数: 2419
5
constexpr和const不是重复了吗?虽然语义略有区别。

【在 d********t 的大作中提到】
: 第一个是C++11加进来的吧
d****i
发帖数: 4809
6
都看不懂啊,我只用plain old C++。

【在 A*******e 的大作中提到】
: 在别人程序里看到的。
: constexpr const char* x = "hello";
: 这里面的constexpr const是什么意思?
: const X& foo() & {
: ...
: }
: 第二个&是什么意思?
: C++进化忒快了。

l*********s
发帖数: 5409
7
应该说语义略有重叠。

【在 A*******e 的大作中提到】
: constexpr和const不是重复了吗?虽然语义略有区别。
g*********e
发帖数: 14401
8
还有这种
class A{
A(const A &&) {};
A() : delete
}
不知道都是什么玩意儿卧槽
还有人拼命用fbstring这些装b
v******y
发帖数: 84
9
第一个装逼通得过编译么?简直就是扯淡
constexpr隐含着const的意思,是implicitly indicates a const.
constexpr is an expression that can be evaluate into a constant,
during compiling when a variable is initiated.
比如
int x=20;
constexpr int y=x+1;
const X& foo() &
第二个&是要求foo是一个class的 method,foo这个function不会改变这个class fields
的值
比如
class X{
private:
int val;
...
const X & foo() &{
//you can not change X.val here
}
}

【在 A*******e 的大作中提到】
: 在别人程序里看到的。
: constexpr const char* x = "hello";
: 这里面的constexpr const是什么意思?
: const X& foo() & {
: ...
: }
: 第二个&是什么意思?
: C++进化忒快了。

v******y
发帖数: 84
10
const A&&是一个right value,
所以在赋值的时候,直接是指针过去了,不用复制内容

【在 g*********e 的大作中提到】
: 还有这种
: class A{
: A(const A &&) {};
: A() : delete
: }
: 不知道都是什么玩意儿卧槽
: 还有人拼命用fbstring这些装b

相关主题
java如何保护传入的参数不被函数改动?请教各路C++大神 为什么f(3) 输出是 'dd'
C++ implicit typename的问题请问这是什么语法(C++)?
问题c++ operator overloading question
进入Programming版参与讨论
l*********s
发帖数: 5409
11
I think his question is about A() : delete, it should be = delete right?

【在 v******y 的大作中提到】
: const A&&是一个right value,
: 所以在赋值的时候,直接是指针过去了,不用复制内容

A*******e
发帖数: 2419
12
那这里两个一起用是什么意思?

【在 l*********s 的大作中提到】
: 应该说语义略有重叠。
A*******e
发帖数: 2419
13

编译没有问题。
fields
第二个应该是const X& foo() const吧。

【在 v******y 的大作中提到】
: 第一个装逼通得过编译么?简直就是扯淡
: constexpr隐含着const的意思,是implicitly indicates a const.
: constexpr is an expression that can be evaluate into a constant,
: during compiling when a variable is initiated.
: 比如
: int x=20;
: constexpr int y=x+1;
: const X& foo() &
: 第二个&是要求foo是一个class的 method,foo这个function不会改变这个class fields
: 的值

A*******e
发帖数: 2419
14
const&也不用复制内容啊?

【在 v******y 的大作中提到】
: const A&&是一个right value,
: 所以在赋值的时候,直接是指针过去了,不用复制内容

v******y
发帖数: 84
15
应该是=delete;

【在 l*********s 的大作中提到】
: I think his question is about A() : delete, it should be = delete right?
v******y
发帖数: 84
16
我看错了,可以是&, &&
对于一个class中fucntion, 除了()中传入参数之外,还implicit传入this
&的意思是传入的this 必须是lvalue, &&是rvalue
也可以是const, const&, const &&这二个组合

【在 A*******e 的大作中提到】
: const&也不用复制内容啊?
v******y
发帖数: 84
17
设想传入一个literal string "C++",
foo("C++")
foo(const string &) 和foo(const string &&)都可以接受这个"C++",都不会copy
如果二个函数同时存在,会调用第二个
但是不能调用foo(string &),但是可以调用foo(string &&)同时没有copy
foo(string) 会接受调用,但是会copy
&&可以接受literal 和unnamed temporary object.

【在 A*******e 的大作中提到】
: const&也不用复制内容啊?
A*******e
发帖数: 2419
18
原来第一个就是过去的 const char* const。

【在 A*******e 的大作中提到】
: 在别人程序里看到的。
: constexpr const char* x = "hello";
: 这里面的constexpr const是什么意思?
: const X& foo() & {
: ...
: }
: 第二个&是什么意思?
: C++进化忒快了。

1 (共1页)
进入Programming版参与讨论
相关主题
question regarding const function请教C++ call-by-ref & call-by-val的问题
大牛对Scala的type system如何评价?java如何保护传入的参数不被函数改动?
template 疑问C++ implicit typename的问题
发现一个有趣的现象。问题
把一个function pointer作为参数传入一个function的语法是什么?请教各路C++大神 为什么f(3) 输出是 'dd'
用STL map的时候怎么自己定义大小比较的关系请问这是什么语法(C++)?
请教一个boost::bind的问题c++ operator overloading question
请教一个C++ typedef的问题C puzzle 一日一题
相关话题的讨论汇总
话题: const话题: foo话题: constexpr话题: c++话题: delete