首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

什么是简单的C或C++ TCP服务器和客户端示例?

简单的C或C++ TCP服务器和客户端示例通常包括以下几个步骤:

  1. 创建套接字
  2. 绑定地址和端口
  3. 监听连接请求
  4. 接受连接
  5. 发送和接收数据
  6. 关闭连接

以下是一个简单的C++ TCP服务器和客户端示例:

服务器端:

代码语言:cpp
复制
#include<iostream>
#include <winsock2.h>
#include <ws2tcpip.h>
#include<thread>
#include<vector>

#pragma comment(lib, "ws2_32.lib")

using namespace std;

void handleClient(SOCKET clientSocket) {
    char buf[1024];
    int len;

    while (true) {
        len = recv(clientSocket, buf, 1024, 0);
        if (len <= 0) break;
        send(clientSocket, buf, len, 0);
    }

    closesocket(clientSocket);
}

int main() {
    WSADATA wsaData;
    int iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
    if (iResult != NO_ERROR) {
        cout << "WSAStartup failed: " << iResult<< endl;
        return 1;
    }

    SOCKET listenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (listenSocket == INVALID_SOCKET) {
        cout << "socket failed: " << WSAGetLastError()<< endl;
        WSACleanup();
        return 1;
    }

    sockaddr_in service;
    service.sin_family = AF_INET;
    service.sin_addr.s_addr = INADDR_ANY;
    service.sin_port = htons(8888);

    if (bind(listenSocket, (SOCKADDR*)&service, sizeof(service)) == SOCKET_ERROR) {
        cout << "bind failed: " << WSAGetLastError()<< endl;
        closesocket(listenSocket);
        WSACleanup();
        return 1;
    }

    if (listen(listenSocket, 5) == SOCKET_ERROR) {
        cout << "listen failed: " << WSAGetLastError()<< endl;
        closesocket(listenSocket);
        WSACleanup();
        return 1;
    }

    vector<thread> threads;

    while (true) {
        SOCKET clientSocket = accept(listenSocket, NULL, NULL);
        if (clientSocket == INVALID_SOCKET) {
            cout << "accept failed: " << WSAGetLastError()<< endl;
            break;
        }

        threads.push_back(thread(handleClient, clientSocket));
    }

    for (auto& t : threads) {
        t.join();
    }

    closesocket(listenSocket);
    WSACleanup();

    return 0;
}

客户端:

代码语言:cpp
复制
#include<iostream>
#include <winsock2.h>
#include <ws2tcpip.h>

#pragma comment(lib, "ws2_32.lib")

using namespace std;

int main() {
    WSADATA wsaData;
    int iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
    if (iResult != NO_ERROR) {
        cout << "WSAStartup failed: " << iResult<< endl;
        return 1;
    }

    SOCKET clientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (clientSocket == INVALID_SOCKET) {
        cout << "socket failed: " << WSAGetLastError()<< endl;
        WSACleanup();
        return 1;
    }

    sockaddr_in service;
    service.sin_family = AF_INET;
    service.sin_addr.s_addr = inet_addr("127.0.0.1");
    service.sin_port = htons(8888);

    if (connect(clientSocket, (SOCKADDR*)&service, sizeof(service)) == SOCKET_ERROR) {
        cout << "connect failed: " << WSAGetLastError()<< endl;
        closesocket(clientSocket);
        WSACleanup();
        return 1;
    }

    char buf[1024];
    int len;

    while (true) {
        cin.getline(buf, 1024);
        if (strcmp(buf, "exit") == 0) break;

        len = send(clientSocket, buf, strlen(buf), 0);
        if (len <= 0) break;

        len = recv(clientSocket, buf, 1024, 0);
        if (len <= 0) break;

        cout << "Server: "<< buf<< endl;
    }

    closesocket(clientSocket);
    WSACleanup();

    return 0;
}

这个示例展示了如何创建一个简单的C++ TCP服务器和客户端,它们可以互相发送和接收消息。请注意,这个示例仅适用于Windows操作系统,并且需要安装Winsock库。

相关搜索:在c++中同时播放'.wav‘音频和alsa-lib的简单示例?我可以与python服务器和c++客户端建立tcp/ip套接字吗?为什么python中的Grpc客户端比c#和c++客户端要快?如何在c++中将doubles列表作为客户端TCP发送到Matlab中的TCP服务器?什么是C字符串和C++字符串之间的区别?为什么在C++中调试和运行输出是不同的?在C++中测试一个数字是2的幂是最简单的方法是什么?Couchbase C SDK的Hello World示例中的键和值是做什么的?C++和C#中的实时服务器/客户端应用程序为什么python和c++的简单计算结果不一样?简单的C++写入文件在Mac OS X App中不起作用 - 为什么?(为什么是我?)为什么不传输(保存)文件?通过tcp在C#中的客户端和C中的服务器之间进行正确的连接?什么是托管和非托管C++混合的最佳单元测试工具?你能通过将Pydrake代码转换成C++版本来演示一个关于符号变量和雅可比的非常简单的C++示例吗?谓词和/或预测器数据成员和/或成员函数在C++中是如何工作的?(elem.*predicator)()在下面的代码片段中做了什么?通过C++编码的客户端和服务器读取、创建和操作TCP/IP网络通信中的完整帧什么是由GCC或Clang转换成的Objective-C 2.0类接口和实现在我的c++简单缓冲区代码中,exit 3和4的错误语句应该是什么?对于哪种类型的A和B,简单的赋值语句A=B在C++中是合法的,但在Java语言中不合法?为什么Erlang说比Web和C++更适合Webgames中的服务器端编程?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

利用多线程和 C++ 实现一个简单的 HTTP 服务器

前言:服务器是现代软件不可或缺的一部分,而服务器的技术也是非常复杂和有趣的方向。随着操作系统不断地发展,服务器的底层架构也在不断变化。...本文介绍一种使用 C++ 和 多线程实现的简单 HTTP 服务器。 首先我们先来看一下如何创建一个服务器。...API,创建一个 TCP 服务器非常简单 ,只需要调用几个函数就行。...但是主线程接收请求,分发给子线程处理这种思想在有些服务器也还是存在的,比如 Node.js,只不过 Node.js 中是进程间进行传递。...本文大概介绍到这里,服务器技术是非常复杂、有趣的方向,上层的架构也随着操作系统的能力不断在变化,本文只是作一个简单的探索和兴趣罢了,具体代码在 https://github.com/theanarkh/

1.8K30

【C++】深拷贝和浅拷贝 ② ( 默认拷贝构造函数是浅拷贝 | 代码示例 - 浅拷贝造成的问题 )

一、默认拷贝构造函数是浅拷贝 1、默认拷贝构造函数 如果 C++ 类中 没有定义拷贝构造函数 , C++ 编译器会自动为该类提供一个 " 默认的拷贝构造函数 " , 在函数中对成员变量进行简单的复制操作...; 2、默认拷贝构造函数是浅拷贝机制 C++ 编译器 为 类 自动生成的 默认拷贝构造函数 是 浅拷贝 , 只能拷贝 顶层的 成员变量值 , 如果成员变量 是 引用 或 指针 , 其指向的 类 或 内存空间...对象 , 此时调用的是 拷贝构造函数 , 由于没有定义 拷贝构造函数 , 使用的事 C++ 编译器的 默认拷贝构造函数 , 进行的拷贝 是 浅拷贝 ; 其中的 字符串指针 , 只拷贝了指针的值 , 没有拷贝字符串的具体内容...// C++ 编译器提供的拷贝构造函数 只能进行浅拷贝 Student s2 = s; 二、代码示例 - 浅拷贝造成的问题 下面代码中 , 定义的 Student 类 中 , 定义了 有参构造函数...和 析构函数 , 没有定义拷贝构造函数 , 因此 C++ 编译器为其生成了 默认拷贝构造函数 , 默认拷贝构造函数 是 浅拷贝 ; 分析下面 创建两个 Student 对象 的代码 : // 调用有参构造函数

21310
  • CH579M以太网控制板--连接路由器或交换机-单台控制板作为TCP服务器和电脑端的TCP客户端通信

    说明 这节测试一下控制板作为TCP服务器,和电脑端的TCP客户端通信(连接路由器或者交换机) 控制板接收的网络数据通过RS485/RS232/TTL输出 RS485/RS232/TTL接收的数据通过控制板发送到...TCP客户端 连接方式如下: 程序基本配置 1.设置控制板作为TCP服务器监听的端口号 3.可以选择是否启用DHCP 如果不启用DHCP,那么在net.init文件里面设置的IP就作为了控制板的...IP 测试 1,下载这节的程序到控制板 如果启用DHCP, 串口日志会打印控制板的IP地址 2.打开电脑TCP调试助手 3.创建连接 IP地址填写开发板的IP地址,我的是192.168.1.237...开发板TCP服务器监听的端口号是 6666 4.开发板调试口会打印连接的客户端信息 5.用户可以监控下控制板的RS485/RS232/TTL/ 调试口 6.电脑调试助手发送数据给控制板板...给控制板发数据 数据将会转发到每个客户端上 程序说明 更加详细的底层程序说明:https://www.cnblogs.com/yangfengwu/p/16580592.html 1,初始化服务器

    71320

    CH579M以太网控制板-连接路由器或交换机-多台控制板作为TCP服务器和电脑端的TCP客户端通信(控制板使用网线串联)

    说明 这节测试一下多台控制板使用网线串联连接并作为TCP服务器和TCP客户端通信(连接路由器或者交换机) 控制板接收的网络数据通过RS485/RS232/TTL输出 RS485/RS232/TTL接收的数据通过控制板发送到...TCP客户端 连接方式: 测试(准备两块板子) 1.我准备了两个程序(两个程序是一样的) 如果控制板都启用DHCP,每个板子下载同一个程序就可以....如果不启用DHCP,每个板子就需要设置不同的IP,就需要下载不同的程序. 2.两个程序监听的端口都是:6666,可在tcp_server文件中修改 3.可以选择是否启用DHCP 如果不启用DHCP,...3.打开网络调试助手,连接第一块板子 192.168.1.237 6666 7.再连接第二块板子 192.168.1.225 6666 结语 大家伙自己测试通信哈, 测试流程和上节一样....程序也和上节一样,不再赘述了哈.

    1.3K20

    6-WIFI&蓝牙(ESP32)转CAN或RS485总线&串口TTL模块-CSDK--设备作为TCP客户端,实现上位机TCP服务器和RS485之间的数据传输

    cnblogs/ESP32_CAN" frameborder="0" scrolling="auto" width="100%" height="1500"> 说明 这节测试的是让设备连接路由器...,然后设备以TCP客户端的形式连接TCP服务器, 连接上服务器以后, TCP服务器发送给设备的数据会通过设备的RS485发送出去 设备从RS485接收的数据会发送到TCP服务器....测试 1,打开这节的工程 这节是让设备连接路由器, 根据自己的需求配置模组连接的路由器 和 RS485波特率,  和 TCP服务器地址 2,连接上RS485设备 3,我这边使用调试助手创建个服务器 4,...如果接收到数据会显示 5,发送数据 这边使用串口调试助手 程序说明 1,TCP客户端接收到TCP服务器的数据就把数据通过RS485发送出去 xRingbufferSend(RingbufHandleTxUart1...TCP服务器 //接收的数据发送到TCP服务器 tcpClientTransmit_t* tcpClientTransmit = (tcpClientTransmit_t

    30310

    HP-Socket与SuperSocket的区别

    HP-Socket 和 SuperSocket 都是高性能的网络通信框架,但它们在设计理念、功能特性和实现方式上存在一些区别。以下是用C#代码示例来说明它们的主要区别。1....HP-SocketHP-Socket 是一个高性能、通用的Socket通信框架,支持TCP/UDP服务端和客户端。它的设计目标是高性能和低延迟,通常用于对性能要求极高的场景。特点高性能、低延迟。...支持多种通信协议(TCP、UDP、HTTP等)。提供C++和C#版本,C#版本基于C++核心库封装。...C#代码示例以下是基于HP-Socket的TCP服务器和客户端的简单实现:// HP-Socket需要引入其提供的DLL库using HP.SockLib;// TCP服务器public class HPSocketTcpServer...C#代码示例以下是基于SuperSocket的TCP服务器和客户端的简单实现:// SuperSocket需要通过NuGet安装SuperSocket包using SuperSocket;using SuperSocket.Server

    8410

    HP-Socket 原理与C#应用实例

    HP-Socket 是一个高性能的 TCP/UDP 通信框架,支持多种编程语言,包括 C++、C 和 .NET。...C# 版本的 HP-Socket TCP 服务器示例在 C# 中,HP-Socket 提供了 .NET 绑定,可以通过 NuGet 包安装 HP-Socket 库来使用。...以下是基于 C# 的简单 TCP 服务器示例代码:using System;using HPSocket;namespace HPSocketTcpServerExample{ class Program...TcpServer 是 HP-Socket 提供的用于 TCP 通信的服务器类。设置事件处理OnAccept 事件:当有客户端连接到服务器时触发。...通过事件驱动的方式,服务器能够处理客户端的连接、数据接收和断开事件。这种模式非常适合构建高性能、高并发的网络服务,例如聊天服务器、游戏服务器或物联网设备通信。

    10910

    【在Linux世界中追寻伟大的One Piece】应用层协议HTTP

    它定义了客户端(如浏览器)与服务器之间如何通信,以交换或传输超文本(如HTML文档)。 HTTP协议是客户端与服务器之间通信的基础。...客户端通过HTTP协议向服务器发送请求,服务器收到请求后处理并返回响应。HTTP协议是一个无连接、无状态的协议,即每次请求都需要建立新的连接,且服务器不会保存客户端的状态信息。...form表单:https://www.runoob.com/html/html-forms.html C++ 要通过历史写的http服务器,验证GET方法,这里需要了解一下FORM表单的问题...Content-Length:Body的长度。 Host:客户端告知服务器,所请求的资源是在哪个主机的哪个端口上。 User-Agent:声明用户的操作系统和浏览器版本信息。...通常用于实现会话(session)的功能。 关于connection报头 HTTP中的Connection 字段是HTTP报文头的一部分,它主要用于控制和管理客户端与服务器之间的连接状态。

    11510

    Linux 学习必杀技:从菜鸟到高手的蜕变密码

    2.3 编写第一个 C++ 程序: 在 Linux 系统中,我们可以使用任何文本编辑器(如 Vim、Emacs 或 VS Code)来编写 C++ 代码: 将上述代码保存为 hello.cpp,然后使用...5.2 TCP 网络编程示例: 下面是一个简单的 TCP 服务器和客户端程序示例: TCP 服务器代码: #include #include #include...以下是一个简单的 UDP 服务器和客户端程序示例: UDP 服务器代码: #include #include #include #...以下是一个简单的 C++ 示例,展示了如何使用共享内存进行两个进程之间的数据传递: 写入共享内存的程序: #include #include #include...结合 C++ 代码的示例,我们更深入地理解了如何在 Linux 环境下进行开发。同时,我们还介绍了一些实用的学习方法和推荐了相关的学习书籍,希望能够帮助初学者更好地学习和掌握 Linux。

    11600

    Python + gRPC 会擦出怎样的火花?

    gRPC 是什么 gRPC 是搭建分布式应用接口和客户端的框架 在 gRPC 中,客户端应用程序可以直接调用不同机器上的服务器应用程序上的方法,就像它是本地对象一样,可以更容易创建分布式应用程序和服务...与许多 RPC 系统一样,gRPC 基于定义服务的思想,指定可以远程调用的方法及其参数和返回类型 在服务端实现这个接口并运行一个 gRPC 服务器来处理客户端调用 在客户端有一个存根(在某些语言中仅称为客户端...XML、JSON、Hessian) ProtoBuf能够将数据进行序列化,并广泛应用在数据存储、通信协议等方面,压缩和传输效率高,语法简单,表达力强,相关的演示示例代码可以网上找找,本文就不详细说明了...第二类文件是用.proto文件 + Python:调用如下命令生成的py文件,即上文所说的客户端文件 本示例中的服务器端文件由C++服务提供,所以配置好Ip & Port 后直接调用 这里以 Storage.proto...通过调用后端的C++存储服务来查询数据的示例演示: 输入: 输出:

    40520

    又被百度捞起来了,能赢吗?

    之前有同学反馈说,有没有 C++ 服务器开发的面试呀? 还真有,最近有 C++ 同学被百度从简历池捞起来面试了,目前经历了一二面,我把比较通用的面试问题抽离出来跟大家分享一波。...MySQL索引简单讲一讲自己的理解? 答:MySQL索引常用的是B+树,也有B树和红黑树。...答:1 为什么呢? 答:我就说了C++是固定地址的,如果是0的话,调用的时候会有地址冲突。 说到这个sizeof,你觉得它是函数吗? 答:它是运算符 运算符的话,一般在什么时候给它定好?...答:一个指针的大小, 指针的大小通常是4或8字节,具体取决于操作系统和编译器的位数。如果是 32 位操作系统则是 4 字节, 64 位操作系统是 8 字节 sizeof和C的大小无关吗?...(忘记了accept函数,connet函数是客户端的) 基于 TCP 协议的客户端和服务端工作 listen函数的第二个参数是什么?

    10110

    udp和tcp的区别

    UDP 和 TCP 的区别 UDP(User Datagram Protocol)和 TCP(Transmission Control Protocol)是两种不同的传输层协议,它们在数据传输的可靠性、...数据包可能丢失、重复或乱序,应用程序需要自行处理丢包和错误的情况。 3. 数据传输顺序 TCP:保证数据按发送顺序到达接收端。如果数据包乱序,TCP 会进行重排序。...UDP:适用于不需要确保可靠性和顺序的应用,如实时视频、语音通话、在线游戏、DNS 查询等。 UDP 和 TCP 的 C/C++ 代码实现区别 1....TCP 服务器端和客户端 TCP 是面向连接的协议,因此需要先建立连接。以下是一个简单的 TCP 服务器和客户端的示例。...UDP 服务器端和客户端 UDP 是无连接的协议,因此不需要建立连接。以下是一个简单的 UDP 服务器和客户端的示例。

    7700

    冲进银行测开,扛住了!

    大家好,我是小林。 最近招商银行的 24 届秋招已经开始了,有很多同学问我 C++ 能投银行吗?...银行的技术大多数都是 Java,但是我看银行后端开发和测开岗位的要求:熟悉Java/C++中至少一门编程语言。 所以,C++同学也是可以投银行开发的。...++i和i++都是C++中的自增运算符,它们的区别在于它们的行为和返回值。 ++i是前置自增运算符,它会先将变量i的值加1,然后返回加1后的值。也就是说,++i会先执行自增操作,再使用自增后的值。...多态是什么?怎么实现的? C++的多态是通过虚函数(virtual function)和指向基类的指针或引用来实现的。...下面是一个简单的示例代码,展示了多态的实现: #include class Animal { public: virtual void makeSound() {

    25220

    字节客户端也疯狂拷打基础!

    大家好,我是小林。 关注我的同学,有很多都是学C++的同学,针对互联网后端岗位的话,C++可能没有太多优势,因为很少项目是用 C++ 做后端业务类型的开发了,主流的还是 java 和 go 后端。...但是,很多互联网客户端岗位会喜欢 C++ 同学,因为学 C++的同学,通常计算机基础都还不错,很多人可能不太知道客户端岗位具体会问什么,其实主要也是围绕 C++、网络、操作系统、算法,这四大块问了,像数据库...这次就分享一位 C++同学,面字节客户端岗位的面经,都是围绕C++、网络、操作系统、算法这四大块内容去问了。 C++ C++中的内存分区有哪些?...C++中的多态怎么实现的? C++中的多态主要通过虚函数和继承来实现。多态分为两种:编译时多态和运行时多态。 编译时多态:也称为静态多态或早绑定。这种多态是通过函数重载和模板来实现的。...服务器推送:HTTP/2.0支持服务器推送,服务器可以在客户端请求之前主动将相关资源推送给客户端,减少了额外的请求延迟。 在浏览器输入URL之后,具体流程是什么?

    29630

    【Linux】应用层自定义协议与序列化

    网络版本计算器实现   我们可以自定义一个协议方便客户端与服务器之间进行IO交互,例如使用json库来进行序列化与反序列化,所以客户端向服务器发送的信息可能是这样子的:len\r\n{json}\r\n...服务器向客户端发送的信息也该和上述一致,只不过json序列中包含的应该是result和错误码code,而客户端向服务器发送的json序列中包含的应该是操作数x和y以及操作方法operate 可以是加、减...JSON 数据的 C++ 库。...它提供了将 JSON 数据序列化为字符串以及从字符串反序列化为 C++ 数据结构的功能。Jsoncpp 是开源的,广泛用于各种需要处理 JSON 数据的 C++ 项目中。...以下是对 Jsoncpp 中序列化和反序列化操作的详细介绍: 安装 C++ ubuntu:sudo apt-get install libjsoncpp-dev Centos: sudo yum install

    7100

    C++网络编程:实现基于网络的应用程序

    以下是一个简单的示例,展示了如何使用C++创建一个基于网络的应用程序:引入头文件cppCopy code#include #include #include...本文介绍了网络编程的基本概念,并给出了一个简单的示例,展示了如何使用C++创建一个基于网络的服务器。希望本文对初学网络编程的读者有所帮助。...当谈到基于网络的应用程序时,一个常见的实际应用场景是创建一个简单的聊天室。在这个聊天室中,多个客户端可以连接到服务器,通过服务器进行消息的发送和接收。...C++的套接字库实现了多个客户端之间的消息发送和接收。...下面是一个简单的示例代码,展示了一个基于TCP协议的客户端和服务器之间的简单通信: 服务器端代码:cppCopy code#include #include #include

    62010

    深入学习 Node.js Net

    返回值:int 函数的返回值是文件描述符,该文件描述符是一个正整数,唯一标识服务端与某客户端的连接,服务端和客户端可以通过此连接进行通信。...Node.js net net 模块提供了创建基于流的 TCP 或 IPC 服务器 (net.createServer()) 和客户端 (net.createConnection()) 的异步网络 API...TCPConstants.SERVER : TCPConstants.SOCKET ); } } 需要注意的是 createHandle 函数中的 Pipe 和 TCP 类内部是由 C++...现在我们来简单总结一下示例中创建 TCP 服务器的过程: 调用 net.createServer() 方法创建 server 对象,该对象创建完后,我们调用 listen() 方法执行监听操作。...总结 本文通过两个简单的示例,分别介绍了如何创建简单 TCP 和用于 IPC 的 UNIX Domain Socket 服务器,同时也介绍了 Socket、Nagle 算法、nc 命令等相关的知识。

    1.2K20

    盛算信息-面试经历-面试部分-完整题目(二)

    以下是一个简单的C++代码示例 #include #include #include #include #include...下面是一个具体的代码案例 以下是一个简单的C++网络编程示例,展示了一个基本的客户端-服务器通信过程。...Socket类用于创建客户端套接字,而ServerSocket类用于创建服务器套接字。 下面是一个简单的Java网络编程示例,展示了一个基本的客户端-服务器通信过程。...客户端创建一个Socket对象并连接到服务器端,获取输入流和输出流,发送消息并接收服务器端的响应。 25.讲解一下c++的webserver里面的select,epoll。...在C++的Web服务器中,select和epoll是两种常用的I/O多路复用机制,用于同时监视多个文件描述符的状态,以便在有可读、可写或异常事件发生时进行相应的处理。

    4900

    基于汇编的 CC++ 协程 - 实现

    背景说明 基于汇编的 C/C++ 协程(用于服务器),我之前已经在下面两篇文章中详细阐述了原理: 基于汇编的 C/C++ 协程 - 背景知识 基于汇编的 C/C++ 协程 - 切换上下文 而这篇文章,就终于是...编程语言上,我选择的是 C++,主要是因为 libco 只支持基于 x86 或 x64 架构的 Linux,而这样的架构,基本上都是 PC 机,或者是资源不缺、性能也不错的嵌入式系统,上 C++ 完全没有问题...暂停和恢复协程 在什么时候调用 co_yield是本协程实现的重点,调用 co_yield 的位置,是一个可能会导致上下文切换的地方,也是将异步编程框架转换为同步框架的关键技术点。...--- 应用示例 本工程的示例代码分为 server 和 client 两部分,其中 server 用到了 libcoevent,而 client 只是使用 Python 写的简单程序。...TCPServer 入口函数是 _tcp_session_routine(),逻辑比较简单,主要是展示 TCPSession 的用法。

    2.4K30

    冲进银行测开,扛住了!

    最近招商银行的 24 届秋招已经开始了,有很多同学问我 C++ 能投银行吗? 银行的技术大多数都是 Java,但是我看银行后端开发和测开岗位的要求:熟悉Java/C++中至少一门编程语言。...所以,C++同学也是可以投银行开发的。...++i和i++都是C++中的自增运算符,它们的区别在于它们的行为和返回值。 ++i是前置自增运算符,它会先将变量i的值加1,然后返回加1后的值。也就是说,++i会先执行自增操作,再使用自增后的值。...多态是什么?怎么实现的? C++的多态是通过虚函数(virtual function)和指向基类的指针或引用来实现的。...下面是一个简单的示例代码,展示了多态的实现: #include class Animal { public: virtual void makeSound() {

    25420
    领券