Redian新闻
>
求一篇paper!!! Thanks a lot!
avatar
求一篇paper!!! Thanks a lot!# Biology - 生物学
c*r
1
父母再过几小时就签了 俺觉得好紧张啊 比自己当年签证都紧张 呵呵
签完一定补签经...
avatar
c*i
2
从美国过境韩国回国, 停三天需要韩国签证吗?
我h1b,I-94写到2012年有效但是H1b visa已经失效.想知道这样的无美国有效签证
的情况下, 从美国回国,中间在韩国停三天是否还要申请签证?
提前道谢!
avatar
Y*H
3
哪个是朗朗,哪个是三炮
avatar
t*w
4
花盆里长出来的,不知是花还是杂草。
avatar
d*d
5
第一,把衍圣公抬起来
第二,把读书人抬起来
其实宋代以前,灭国之后,都封一个小国给他的,比如商灭夏,周灭商,都封了一个小国
到了三国,曹丕称帝,还是给了汉献帝一个小封国,而且允许他使用皇帝仪仗的
司马家篡位,统一之后,对魏蜀吴三国的皇帝,也都一人给了一个封国
也就是宋朝之后,柴家是莫名其妙壮丁死的死残的残
南唐李煜的绿帽子更是灼灼生辉,最后还是一死
我们对比一下,
司马炎派人把孙皓以及投降的吴人带来相见。孙皓上大殿向晋武帝叩头。晋武帝对孙说
:“朕设了这个座位以等待你已经有很久了。”孙皓说:“我在南方,也设了这个座位
以等待陛下。” [86] 三十年后司马睿果然又在建业建立东晋。
司马炎问孙皓说:“听说南方的人喜欢做尔汝歌,你能作一首吗?”孙皓正在喝酒,乘
机举着酒杯劝晋武帝喝酒说:”昔与汝为邻,今与汝为臣。上汝一杯酒,令汝寿万春!
”晋武帝非常后悔让他作诗。
都这样了,人家司马炎也没把孙皓怎么样啊
李煜发发牢骚都是一杯毒酒死光光··
朱三太子都八九十了还被康熙给凌迟了···
宋清其实是一家
是吧?把人家李煜的老婆睡了,然后妇女要守贞是宋代以后开始的吧?
摄政王睡了皇太后,然后要妇女大量殉节也是清朝的事儿吧?
烈女这个,明代三百年两万多烈女,是不是很吓人,呵呵,我大清一个县都三千多烈女
了,至于是不是志愿,那就仁者见仁智者见智了···
换句话说,这大怂啊,就是讨好读书人,讨好写史的读书人
这大清啊,就是杀读书人,当杀鸡一样
然后这大怂和大清的皇帝自然就各个圣明了····
当然一个好名声也没什么卵用
金兵破汴梁,殉国的就一个李若水···
南宋灭亡的时候,殉国的是被发配在外边的文天祥和陆秀夫,临安没一个殉国的
百姓纷纷传言;当年你夺人家孤儿寡母的江山,如今你也是孤儿寡母········
··
好人被发配,垃圾在朝堂,这宋以后,虚伪的窝囊的儒家就开始劣币驱逐良币了
一直发展到最后就是:大清杀我当杀狗,我待大清如亲爹,太平天国毁大清,呕心沥血
扶大清。
avatar
i*p
6
void subf() {}
void (*PtoF)(void);
1. PtoF = subf;
2. PtoF = &subf;
3. PtoF();
4. (*PtoF)();
1==2 hard to understand why it allows both
3==4 somehow easy to be understood
Is it good to allow both?
avatar
a*u
7
Immunity. 2009 Nov 20;31(5):787-98. Epub 2009 Oct 29
T helper 17 cells promote cytotoxic T cell activation in tumor immunity.
Martin-Orozco N, Muranski P, Chung Y, Yang XO, Yamazaki T, Lu S, Hwu P,
Restifo NP, Overwijk WW, Dong C.
Department of Immunology, MD Anderson Cancer Center, Houston, TX 77030, USA.
请发到 e*********[email protected]
灰常感谢阿!!
avatar
l*f
8
bless

【在 c***r 的大作中提到】
: 父母再过几小时就签了 俺觉得好紧张啊 比自己当年签证都紧张 呵呵
: 签完一定补签经...

avatar
f*t
9
都没你帅。。@@

【在 Y*H 的大作中提到】
: 哪个是朗朗,哪个是三炮
avatar
T*4
10
杂草,拔,要结籽了都
avatar
c*d
11
守节和殉节,都不是朝廷要求的,都是自愿的,只是对真做出来的有褒奖罢了。
清朝法律规定,如果寡妇自己愿意再嫁,那么谁都没有过错;如果寡妇不肯再嫁而被别
人强行嫁出去,那么要看是谁嫁的,如果是父母、公婆,则父母、公婆杖60,如果是兄
弟、大伯子小叔子或者是叔伯父、舅父等,则杖70,寡妇本人和娶她的男人都无过错。
这其实也是考虑朝廷的人口资源。
avatar
d*i
12
你的函数指针的定义不对,应该对应函数的argument, 比如
void subf(int a, void *ptr) {}
void (*PtoF)(int, void*);
至于下面两个为什么一样,函数指针用函数名赋值和用函数的地址是等效的,可以想象
成函数名就是函数的入口地址。
PtoF = subf;
PtoF = &subf;

【在 i**p 的大作中提到】
: void subf() {}
: void (*PtoF)(void);
: 1. PtoF = subf;
: 2. PtoF = &subf;
: 3. PtoF();
: 4. (*PtoF)();
: 1==2 hard to understand why it allows both
: 3==4 somehow easy to be understood
: Is it good to allow both?

avatar
t*s
14
祝福!
avatar
R*h
15
哎呀,花痴回来了?

【在 f******t 的大作中提到】
: 都没你帅。。@@
avatar
i*p
16
changed the function's arguments. Simplified the code before published, but
not all cleaned.

【在 d****i 的大作中提到】
: 你的函数指针的定义不对,应该对应函数的argument, 比如
: void subf(int a, void *ptr) {}
: void (*PtoF)(int, void*);
: 至于下面两个为什么一样,函数指针用函数名赋值和用函数的地址是等效的,可以想象
: 成函数名就是函数的入口地址。
: PtoF = subf;
: PtoF = &subf;

avatar
b*g
17
bless
avatar
R*h
18
没有,我只看到了三炮, 狼狼呢?
avatar
i*p
19
"函数指针用函数名赋值和用函数的地址是等效的,可以想象成函数名就是函数的入口
地址。"
So it is not consistent to usage &i which is i's address.
Any reason not to disable &subf to keep & consistency?

【在 d****i 的大作中提到】
: 你的函数指针的定义不对,应该对应函数的argument, 比如
: void subf(int a, void *ptr) {}
: void (*PtoF)(int, void*);
: 至于下面两个为什么一样,函数指针用函数名赋值和用函数的地址是等效的,可以想象
: 成函数名就是函数的入口地址。
: PtoF = subf;
: PtoF = &subf;

avatar
M*u
20
bless

【在 c***r 的大作中提到】
: 父母再过几小时就签了 俺觉得好紧张啊 比自己当年签证都紧张 呵呵
: 签完一定补签经...

avatar
f*t
21
也没你帅,哈哈

【在 R***h 的大作中提到】
: 哎呀,花痴回来了?
avatar
d*i
22
I don't know the exact reason why it allows both. But you can also use array
name as the address of the first element of array as an analogy, right?
After all, code segment lives in different address space than data segment.
Functions are different from variables.

【在 i**p 的大作中提到】
: "函数指针用函数名赋值和用函数的地址是等效的,可以想象成函数名就是函数的入口
: 地址。"
: So it is not consistent to usage &i which is i's address.
: Any reason not to disable &subf to keep & consistency?

avatar
c*e
23
楼主没有写在哪里签证,现在形势很好一定能通过,没事
avatar
Y*H
24
好好看看。。。

【在 R***h 的大作中提到】
: 没有,我只看到了三炮, 狼狼呢?
avatar
i*p
25
int arr[] = {1, 2, 3};
int *p;
p = arr; // OK
p = &arr; // error: cannot convert 'int (*)[3]' to 'int*' in assignment
p = (int *)&arr; // OK
So arr and &arr are different somehow.

array
.

【在 d****i 的大作中提到】
: I don't know the exact reason why it allows both. But you can also use array
: name as the address of the first element of array as an analogy, right?
: After all, code segment lives in different address space than data segment.
: Functions are different from variables.

avatar
l*e
26
bless~

【在 c***r 的大作中提到】
: 父母再过几小时就签了 俺觉得好紧张啊 比自己当年签证都紧张 呵呵
: 签完一定补签经...

avatar
Y*H
27
- -

【在 f******t 的大作中提到】
: 都没你帅。。@@
avatar
l*s
28
that is the semantics of the language, I guess you have to live with it or
write your own.
avatar
w*0
29
Bless!
avatar
Y*H
30
- -

【在 f******t 的大作中提到】
: 都没你帅。。@@
avatar
i*p
31
Though we have to live with it, we still can make comments on it, right?
Do you really think you are super to say so?

【在 l*********s 的大作中提到】
: that is the semantics of the language, I guess you have to live with it or
: write your own.

avatar
c*r
32
北京北京 haha 太紧张啦 都忘记注明啦 =)
多谢!!!

【在 c***e 的大作中提到】
: 楼主没有写在哪里签证,现在形势很好一定能通过,没事
avatar
R*h
33
lol 逗你玩的 第一张是狼狼

【在 Y*H 的大作中提到】
: 好好看看。。。
avatar
b*s
34
是不一样的,有个隐式转换
你可以试试下面代码
#include
#include
using namespace std;
void f(int)
{}
void (*pf)(int);
int main()
{
pf = f;
pf = &f;
cout << "f:" << typeid(f).name() << endl;
cout << "&f:" << typeid(&f).name() << endl;
}

【在 i**p 的大作中提到】
: Though we have to live with it, we still can make comments on it, right?
: Do you really think you are super to say so?

avatar
f*y
35
Bless
avatar
l*s
36
sure, but why making a fuss over such a trifle. unless you are gathering
opinion to design your own language, if that is case, hat off a salute!

【在 i**p 的大作中提到】
: Though we have to live with it, we still can make comments on it, right?
: Do you really think you are super to say so?

avatar
c*9
37
big bless

【在 c***r 的大作中提到】
: 父母再过几小时就签了 俺觉得好紧张啊 比自己当年签证都紧张 呵呵
: 签完一定补签经...

avatar
b*s
38
4.3 Function-to-pointer conversion [conv.func]
1 An lvalue of function type T can be converted to a prvalue of type “
pointer to T.” The result is a pointer tothe function.57
I think it is what happend.

【在 i**p 的大作中提到】
: Though we have to live with it, we still can make comments on it, right?
: Do you really think you are super to say so?

avatar
s*9
39
bless
avatar
b*s
40
简单来说,
pf = f时
根据标准,函数对象f,被隐式转换成了指向函数对象的指针
然后才赋值给pf
而 pf = &f 不存在这个隐式转换
两者是等效的

【在 b*******s 的大作中提到】
: 是不一样的,有个隐式转换
: 你可以试试下面代码
: #include
: #include
: using namespace std;
: void f(int)
: {}
: void (*pf)(int);
: int main()
: {

avatar
p*i
41
祝福~

【在 c***r 的大作中提到】
: 父母再过几小时就签了 俺觉得好紧张啊 比自己当年签证都紧张 呵呵
: 签完一定补签经...

avatar
b*s
42
被转换得到的是个纯右值,所以没什么副作用

【在 b*******s 的大作中提到】
: 简单来说,
: pf = f时
: 根据标准,函数对象f,被隐式转换成了指向函数对象的指针
: 然后才赋值给pf
: 而 pf = &f 不存在这个隐式转换
: 两者是等效的

avatar
s*g
43
bless
avatar
b*s
44
你这个例子是误用
你对arr取地址得到的是指向int[3]对象的指针
和int *是不能implicitly转换的,当然也有workaround
不适用以下规则 (p = arr适用)
这个规则是array obj到指针的转换
4.2 Array-to-pointer conversion [conv.array]
1 An expression of type “array of N T”, “array of runtime bound of T”,
or “array of unknown bound of T” can
be converted to a prvalue of type “pointer to T”. The result is a pointer
to the ?rst element of the array.

【在 i**p 的大作中提到】
: int arr[] = {1, 2, 3};
: int *p;
: p = arr; // OK
: p = &arr; // error: cannot convert 'int (*)[3]' to 'int*' in assignment
: p = (int *)&arr; // OK
: So arr and &arr are different somehow.
:
: array
: .

avatar
t*8
45
bless

【在 c***r 的大作中提到】
: 父母再过几小时就签了 俺觉得好紧张啊 比自己当年签证都紧张 呵呵
: 签完一定补签经...

avatar
f*n
46
还有
PtoF = *****subf;
你能understand吗?

【在 i**p 的大作中提到】
: void subf() {}
: void (*PtoF)(void);
: 1. PtoF = subf;
: 2. PtoF = &subf;
: 3. PtoF();
: 4. (*PtoF)();
: 1==2 hard to understand why it allows both
: 3==4 somehow easy to be understood
: Is it good to allow both?

avatar
T*9
47
bless

【在 c***r 的大作中提到】
: 父母再过几小时就签了 俺觉得好紧张啊 比自己当年签证都紧张 呵呵
: 签完一定补签经...

avatar
i*p
48
ignored the post below, period.

【在 f*******n 的大作中提到】
: 还有
: PtoF = *****subf;
: 你能understand吗?

avatar
r*h
49
bless!!
avatar
i*p
50
ignored the post below, period.

【在 l*********s 的大作中提到】
: sure, but why making a fuss over such a trifle. unless you are gathering
: opinion to design your own language, if that is case, hat off a salute!

avatar
c*o
51
bless
avatar
f*n
52
你不想学习还来这里post干嘛?

【在 i**p 的大作中提到】
: ignored the post below, period.
avatar
i*p
53
ignored the post below, period.

【在 f*******n 的大作中提到】
: 你不想学习还来这里post干嘛?
avatar
b*s
54
这是cstyle

【在 f*******n 的大作中提到】
: 还有
: PtoF = *****subf;
: 你能understand吗?

avatar
i*p
55
void subf() {}
void (*PtoF)(void);
1. PtoF = subf;
2. PtoF = &subf;
3. PtoF();
4. (*PtoF)();
1==2 hard to understand why it allows both
3==4 somehow easy to be understood
Is it good to allow both?
avatar
d*i
56
你的函数指针的定义不对,应该对应函数的argument, 比如
void subf(int a, void *ptr) {}
void (*PtoF)(int, void*);
至于下面两个为什么一样,函数指针用函数名赋值和用函数的地址是等效的,可以想象
成函数名就是函数的入口地址。
PtoF = subf;
PtoF = &subf;

【在 i**p 的大作中提到】
: void subf() {}
: void (*PtoF)(void);
: 1. PtoF = subf;
: 2. PtoF = &subf;
: 3. PtoF();
: 4. (*PtoF)();
: 1==2 hard to understand why it allows both
: 3==4 somehow easy to be understood
: Is it good to allow both?

avatar
i*p
57
changed the function's arguments. Simplified the code before published, but
not all cleaned.

【在 d****i 的大作中提到】
: 你的函数指针的定义不对,应该对应函数的argument, 比如
: void subf(int a, void *ptr) {}
: void (*PtoF)(int, void*);
: 至于下面两个为什么一样,函数指针用函数名赋值和用函数的地址是等效的,可以想象
: 成函数名就是函数的入口地址。
: PtoF = subf;
: PtoF = &subf;

avatar
i*p
58
"函数指针用函数名赋值和用函数的地址是等效的,可以想象成函数名就是函数的入口
地址。"
So it is not consistent to usage &i which is i's address.
Any reason not to disable &subf to keep & consistency?

【在 d****i 的大作中提到】
: 你的函数指针的定义不对,应该对应函数的argument, 比如
: void subf(int a, void *ptr) {}
: void (*PtoF)(int, void*);
: 至于下面两个为什么一样,函数指针用函数名赋值和用函数的地址是等效的,可以想象
: 成函数名就是函数的入口地址。
: PtoF = subf;
: PtoF = &subf;

avatar
d*i
59
I don't know the exact reason why it allows both. But you can also use array
name as the address of the first element of array as an analogy, right?
After all, code segment lives in different address space than data segment.
Functions are different from variables.

【在 i**p 的大作中提到】
: "函数指针用函数名赋值和用函数的地址是等效的,可以想象成函数名就是函数的入口
: 地址。"
: So it is not consistent to usage &i which is i's address.
: Any reason not to disable &subf to keep & consistency?

avatar
i*p
60
int arr[] = {1, 2, 3};
int *p;
p = arr; // OK
p = &arr; // error: cannot convert 'int (*)[3]' to 'int*' in assignment
p = (int *)&arr; // OK
So arr and &arr are different somehow.

array
.

【在 d****i 的大作中提到】
: I don't know the exact reason why it allows both. But you can also use array
: name as the address of the first element of array as an analogy, right?
: After all, code segment lives in different address space than data segment.
: Functions are different from variables.

avatar
l*s
61
that is the semantics of the language, I guess you have to live with it or
write your own.
avatar
i*p
62
Though we have to live with it, we still can make comments on it, right?
Do you really think you are super to say so?

【在 l*********s 的大作中提到】
: that is the semantics of the language, I guess you have to live with it or
: write your own.

avatar
b*s
63
是不一样的,有个隐式转换
你可以试试下面代码
#include
#include
using namespace std;
void f(int)
{}
void (*pf)(int);
int main()
{
pf = f;
pf = &f;
cout << "f:" << typeid(f).name() << endl;
cout << "&f:" << typeid(&f).name() << endl;
}

【在 i**p 的大作中提到】
: Though we have to live with it, we still can make comments on it, right?
: Do you really think you are super to say so?

avatar
l*s
64
sure, but why making a fuss over such a trifle. unless you are gathering
opinion to design your own language, if that is case, hat off a salute!

【在 i**p 的大作中提到】
: Though we have to live with it, we still can make comments on it, right?
: Do you really think you are super to say so?

avatar
b*s
65
4.3 Function-to-pointer conversion [conv.func]
1 An lvalue of function type T can be converted to a prvalue of type “
pointer to T.” The result is a pointer tothe function.57
I think it is what happend.

【在 i**p 的大作中提到】
: Though we have to live with it, we still can make comments on it, right?
: Do you really think you are super to say so?

avatar
b*s
66
简单来说,
pf = f时
根据标准,函数对象f,被隐式转换成了指向函数对象的指针
然后才赋值给pf
而 pf = &f 不存在这个隐式转换
两者是等效的

【在 b*******s 的大作中提到】
: 是不一样的,有个隐式转换
: 你可以试试下面代码
: #include
: #include
: using namespace std;
: void f(int)
: {}
: void (*pf)(int);
: int main()
: {

avatar
b*s
67
被转换得到的是个纯右值,所以没什么副作用

【在 b*******s 的大作中提到】
: 简单来说,
: pf = f时
: 根据标准,函数对象f,被隐式转换成了指向函数对象的指针
: 然后才赋值给pf
: 而 pf = &f 不存在这个隐式转换
: 两者是等效的

avatar
b*s
68
你这个例子是误用
你对arr取地址得到的是指向int[3]对象的指针
和int *是不能implicitly转换的,当然也有workaround
不适用以下规则 (p = arr适用)
这个规则是array obj到指针的转换
4.2 Array-to-pointer conversion [conv.array]
1 An expression of type “array of N T”, “array of runtime bound of T”,
or “array of unknown bound of T” can
be converted to a prvalue of type “pointer to T”. The result is a pointer
to the ?rst element of the array.

【在 i**p 的大作中提到】
: int arr[] = {1, 2, 3};
: int *p;
: p = arr; // OK
: p = &arr; // error: cannot convert 'int (*)[3]' to 'int*' in assignment
: p = (int *)&arr; // OK
: So arr and &arr are different somehow.
:
: array
: .

avatar
f*n
69
还有
PtoF = *****subf;
你能understand吗?

【在 i**p 的大作中提到】
: void subf() {}
: void (*PtoF)(void);
: 1. PtoF = subf;
: 2. PtoF = &subf;
: 3. PtoF();
: 4. (*PtoF)();
: 1==2 hard to understand why it allows both
: 3==4 somehow easy to be understood
: Is it good to allow both?

avatar
i*p
70
ignored the post below, period.

【在 f*******n 的大作中提到】
: 还有
: PtoF = *****subf;
: 你能understand吗?

avatar
i*p
71
ignored the post below, period.

【在 l*********s 的大作中提到】
: sure, but why making a fuss over such a trifle. unless you are gathering
: opinion to design your own language, if that is case, hat off a salute!

avatar
f*n
72
你不想学习还来这里post干嘛?

【在 i**p 的大作中提到】
: ignored the post below, period.
avatar
i*p
73
ignored the post below, period.

【在 f*******n 的大作中提到】
: 你不想学习还来这里post干嘛?
avatar
b*s
74
这是cstyle

【在 f*******n 的大作中提到】
: 还有
: PtoF = *****subf;
: 你能understand吗?

avatar
S*A
75
C++ 我不熟悉啊,C 我还略知道一点。
这个相关的规定在 C99 6.6.9 Constant Expression 章节里面。
也就是说,地址表达式可以 “&” 取地址是显式取地址,
然后也可以对数组和函数隐含取地址,不需要 “&”。
数组和函数的地址是特例,取地址可以隐含,因为数组和函数的
本来使用都用特殊语法后缀,数组要后面有 【】,函数后面有()。
所以没有后缀的用法就可以分别定义。这里退化为地址是最自然的。
注意看原文里的 “implicitly" use an expression of array or function type.
9.
An address constant is a null pointer, a pointer to an lvalue designating an
object of static
storage duration, or a pointer to a function designator; it shall be created
explicitly using
the unary & operator or an integer constant cast to pointer type, or
implicitly by the use of
an expression of array or function type. The array-subscript [] and member-
access .
and -> operators, the address & and indirection * unary operators, and
pointer casts may
be used in the creation of an address constant, but the value of an object
shall not be
accessed by use of these operators.
avatar
w*w
76
确定这样的写法是用 C++? 如果是我我宁愿用 functor 取而代之.
如果你要多态的话, 再封装几个classes 吧! 既然你想用 C++ 的OO , 那么就把
C 的函数指针放弃吧.
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。