小编Guy*_*Guy的帖子

在overloding = operator中返回引用的目的是什么

当我们重载operator =(赋值)时,我想知道为什么我们应该返回一个引用.一方面,我见过的(重载运算符=)的大多数示例返回一个引用,但另一方面,我看到了几个没有返回引用的示例(同一主题).

有人解释我,当我们需要返回一个引用(特别是在运算符=重载中),并给出示例吗?

c++ reference operator-overloading operators

1
推荐指数
1
解决办法
70
查看次数

通过套接字发送数据不起作用

我正在尝试通过套接字制作国际象棋游戏。有一个服务器负责将棋盘发送给玩家,以获取输入和响应等等。我试图创建一个客户端服务器(实际上是 2 个客户端和服务器),但它不起作用。客户端正确连接到服务器,但传递的数据不正确。例如,我从客户端发送“E2-C3”;recv 结果(在服务器端)始终为 0,否则会打印垃圾。

客户 :

#define WIN32_LEAN_AND_MEAN

#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <string>
#include <sys/types.h>

// Need to link with Ws2_32.lib, Mswsock.lib, and Advapi32.lib
#pragma comment (lib, "Ws2_32.lib")
#pragma comment (lib, "Mswsock.lib")
#pragma comment (lib, "AdvApi32.lib")

using namespace std;


#define SERVER_IP "1.1.1.1"
#define SERVER_PORT 8888
#define BUFFER_SIZE 1024

// server side 
#define INVALID_MOVE 00
#define PLEASE_ENTER_A_MOVE 15
#define PRINT_BOARD 20
#define END_GAME 30

// client side
#define MOVE 10

int …
Run Code Online (Sandbox Code Playgroud)

c++ sockets networking network-programming client-server

1
推荐指数
1
解决办法
2035
查看次数