C++
醉卧南楼
IT行业小白,多多学习,努力进步!
展开
-
const与#define
定义常量的方式有const和#define两种,但是这两种方法有一定的差别,他们在于编译器处理方法、类型和安全检查、存储方式、空间分配、和运行效率等方面有一些差异。原创 2017-07-31 09:14:36 · 233 阅读 · 0 评论 -
const在函数和方法上的防修改作用
const参数,除了之前在日志《【备忘】const与#define》提到做定义常量的用途外,还有防止在函数方法中修改参数值的用途。 函数: 函数有一个参数,将参数定义为const参数(即常量参数) ,则在函数内部不能对参数进行修改。 For example:(书上看到的例子,照搬下来)void OutputNumber(const int nNumber) { cout << nNu原创 2017-06-15 14:08:34 · 293 阅读 · 0 评论 -
遍历磁盘目录代码实例
遍历磁盘目录#include<iostream>#include<string>#include<io.h> //结构体srtuct _finddata_t所在头文件using namespace std;const int MAXLEN = 1024; //用于定义目录最大长度数值unsigned long FILECOUNT = 0; //用于记录文件数量(文件数量原创 2017-06-15 13:58:56 · 450 阅读 · 0 评论 -
构造函数自动转换与explicit关键字
在类中有一个整型的数据成员,程序中需要实现一个整数直接赋值为一个类对象,赋值结果是该类对象的被赋值成员值为赋值的整数。 但是在默认情况下是不能通过编译的,因为不允许类与整数进行复制运算。 如果在类中定义一个特殊的构造函数,这样在进行该类对象和整数赋值运算时将自动转换该构造函数。 即下图定义构造函数——CUser(int nData) 可以实现一个整数直接赋值为一个类对象的语句——CUs原创 2017-06-15 13:48:04 · 291 阅读 · 0 评论 -
循环遍历二叉树代码实例
循环遍历二叉树#include<iostream>#include<memory.h>using namespace std;template<class type> //栈模板class CStact {private: type *m_pTop;原创 2017-06-15 13:38:04 · 653 阅读 · 0 评论 -
递归遍历二叉树代码实例
递归遍历二叉树#include<iostream>#include<memory.h>using namespace std;template<class Type> //定义模板class CBinaryTree {private: Type *m_pRootNode;原创 2017-06-15 13:28:49 · 594 阅读 · 0 评论 -
C++网络编程之UDP基础控制台程序
用户数据报协议UDP是一种不可靠、无连接的协议,主要适用于不需要对数据报进行排序和流量控制的场合,它的速度效率较高。 使用UDP进行网络编程的流程如下图所示。 UDP进行网络编程的控制台程序基础代码如下。Server服务器端#include<stdio.h>#include<iostream>#include<Winsock2.h>...原创 2018-06-13 11:50:13 · 594 阅读 · 0 评论 -
VS2017使用inet_ntoa()产生错误的解决方法
在新版本VS(2013以上)使用C++进行编码开发,使用inet_ntoa()时,会出现报错: error C4996: ‘inet_ntoa’: Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings为了解决这...原创 2018-06-08 10:25:24 · 6878 阅读 · 11 评论 -
C++的socket编程学习
服务端服务器代码如下,在设置listen之后,通过accept获取对应的socket连接并创建线程进行通信,通信完成后关闭对应线程。// socket_service.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h" #include <stdio.h>#include <Winsock2.h>#pragma com...转载 2018-06-08 10:32:57 · 202 阅读 · 0 评论