avatar
我是否需要Move(C++11)?# Programming - 葵花宝典
s*l
1
是不是只有true earning才可以和costco会员卡一起合并计算为50的年费?
其他amex的卡可以吗?
avatar
b*t
2
试了很多次了,都不行
别的都好好的
avatar
b*i
3
有一个类,TCPServer{
public: TCPServer(asio::io_service& io_service, const tcp::endpoint& listen_
endpoint){...}
private:
asio::io_service& io_service_;
asio::ip::tcp::acceptor acceptor_;
TCPListener listener_;
};
这个类是boost的一个例子。我的代码需要三个变量,放在TCPServerManager里面,为
简单起见,我定义三个static变量。
TCPServerManager{
static TCPServer eth0, eth1, wifi;
static void start(){...}
};
那么,在start里面,我根据boost的例子,用TCPServer s(io_service, listen_
endpoint);定义了一个变量。怎么把这个变量变成我的eth0,eth1, wifi呢?
在定义eth0的那个地方,需要的listen_endpoint还没有好,就是说,需要后续的代码
(start)来完成listen_endpoint的赋值。
我是否需要eth0=std::move(s); 那样,我自己写TCPServer的move assignment怎么写
呢?虽然一共三个变量,还是需要请教懂行的。
另外,我是否可以使用TCPServer *eth0=new TCPServer(.) 这样可以在start函数里
面执行。算是另外一种方法吧。
avatar
P*x
4

不可以

【在 s*******l 的大作中提到】
: 是不是只有true earning才可以和costco会员卡一起合并计算为50的年费?
: 其他amex的卡可以吗?

avatar
l*s
5
你这不能static吧
avatar
s*l
6
那如果刷的不多的话,虽然Fidelity都是2%,也不见得省出50的年费来,毕竟True
Earning加油是3%
avatar
k*e
7
文科生?

listen_

【在 b***i 的大作中提到】
: 有一个类,TCPServer{
: public: TCPServer(asio::io_service& io_service, const tcp::endpoint& listen_
: endpoint){...}
: private:
: asio::io_service& io_service_;
: asio::ip::tcp::acceptor acceptor_;
: TCPListener listener_;
: };
: 这个类是boost的一个例子。我的代码需要三个变量,放在TCPServerManager里面,为
: 简单起见,我定义三个static变量。

avatar
P*x
8
as long as you shop at Costco, you need to pay the $50 annual fee to anyway

【在 s*******l 的大作中提到】
: 那如果刷的不多的话,虽然Fidelity都是2%,也不见得省出50的年费来,毕竟True
: Earning加油是3%

avatar
B*g
9
能不能从heap move到static我不确定, 但你这个s不是rvalue, compiler不会让move吧
? 你的三个变量不能直接初始化吗? 为什么一定要从另一个变量copy/move?
又看了下, 应该可以写move constructor和move assignment operator

listen_

【在 b***i 的大作中提到】
: 有一个类,TCPServer{
: public: TCPServer(asio::io_service& io_service, const tcp::endpoint& listen_
: endpoint){...}
: private:
: asio::io_service& io_service_;
: asio::ip::tcp::acceptor acceptor_;
: TCPListener listener_;
: };
: 这个类是boost的一个例子。我的代码需要三个变量,放在TCPServerManager里面,为
: 简单起见,我定义三个static变量。

avatar
s*l
10
看来只有申请ture earning了 好申么 4个月信用历史 无不良记录

anyway

【在 P******x 的大作中提到】
: as long as you shop at Costco, you need to pay the $50 annual fee to anyway
avatar
b*i
11
程序运行中途,要修改某个IP地址,或者port
比如,系统有三个以太网:eth0, eth1, wifi, 只有eth0的地址和端口是固定的,其
他的由应用程序通过和客户的交流来设定。如果客户要改,这个变量就要重新赋值。
更改就发生在handle_read里面,例子:如果包的内容是: set eth1 ip=...... port =
....
那么这里就呼叫对应的函数来关掉相应的eth1的io_service,然后用新的IP地址和端口
重新生成新的。

【在 B*******g 的大作中提到】
: 能不能从heap move到static我不确定, 但你这个s不是rvalue, compiler不会让move吧
: ? 你的三个变量不能直接初始化吗? 为什么一定要从另一个变量copy/move?
: 又看了下, 应该可以写move constructor和move assignment operator
:
: listen_

avatar
f*r
12
4个月信用记录比较难

【在 s*******l 的大作中提到】
: 看来只有申请ture earning了 好申么 4个月信用历史 无不良记录
:
: anyway

avatar
n*n
13
1) Can we use TCPServer* eth0 instead of TCPServer eth0? then maybe we can
create and record heap memory object in start() after "listen_endpoint". I
don't see the need of keeping a TCPServer object inside.
2) Why should we use static member TCPServer eth0 here? Are there many
TCPServerManager objects?
avatar
s*l
14
多长时间才比较有把握?
avatar
l*s
15
because there is no pointer in java. : -)

【在 n**n 的大作中提到】
: 1) Can we use TCPServer* eth0 instead of TCPServer eth0? then maybe we can
: create and record heap memory object in start() after "listen_endpoint". I
: don't see the need of keeping a TCPServer object inside.
: 2) Why should we use static member TCPServer eth0 here? Are there many
: TCPServerManager objects?

avatar
e*4
16
for amex you'd better wait for 1 year from my point of view.
avatar
n*n
17
oh, isn't the title saying c++11?

【在 l*********s 的大作中提到】
: because there is no pointer in java. : -)
avatar
b*i
18
用指针可以,我现在就这么用的。不是为了新潮吗?
为什么是静态变量,是因为这个系统一共一个TCPServerManager,负责管理所有的
server变量。所以,是个singleton。当然,我可以用singleton那一套,不过直接
static也行吧?不行就不是静态变量的,但是通过getInstance()来访问。

【在 n**n 的大作中提到】
: 1) Can we use TCPServer* eth0 instead of TCPServer eth0? then maybe we can
: create and record heap memory object in start() after "listen_endpoint". I
: don't see the need of keeping a TCPServer object inside.
: 2) Why should we use static member TCPServer eth0 here? Are there many
: TCPServerManager objects?

avatar
n*n
19
I don't quite understand the relation between singleton manager object
and static member variables.
singleton of manager class is usually implemented using a getServer() method
, while static member variable is more like a global variable under a class
name.
btw, I never see such 新潮.
[在 bihai (学得不好) 的大作中提到:]
:有一个类,TCPServer{
:public: TCPServer(asio::io_service& io_service, const tcp::endpoint&
listen_endpoint){...}
:...........
avatar
b*i
20
前面有人说了heap到static不可行。这个可能是个问题。而我开始问的其实是从stack
到static。估计也不行。
所以,取决于io_service的实现,如果所有内部的变量都在heap上,可以简单的转移,
自己写个move constructor。如果都在stack上,就不可以吧。
用singleton我想就把变量放在heap上了。不过,还是不能从stack到heap。

method
class

【在 n**n 的大作中提到】
: I don't quite understand the relation between singleton manager object
: and static member variables.
: singleton of manager class is usually implemented using a getServer() method
: , while static member variable is more like a global variable under a class
: name.
: btw, I never see such 新潮.
: [在 bihai (学得不好) 的大作中提到:]
: :有一个类,TCPServer{
: :public: TCPServer(asio::io_service& io_service, const tcp::endpoint&
: listen_endpoint){...}

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。