![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习
Soft_Time
这个作者很懒,什么都没留下…
展开
-
C++交换两个数据的值
#include void jiaohuan(int & a,int & b){ using std::cout; using std::endl; int c; c = a; a = b; b = c; std::cout << "a = " << a << std::endl; cout << "b = " << b << endl;}int main() { us原创 2017-05-28 08:02:22 · 629 阅读 · 0 评论 -
int main(int argc,char *argv[])的含义
argc:命令行总的参数的个数,即argv中元素的格式。*argv[ ]: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数argv[0]:指向程序的全路径名argv[1]:指向在DOS命令行中执行程序名后的第一个字符串。argv[2]:指向第二个字符串在linux写一个程序然后编译 程序如下:............int main(argc...原创 2018-05-21 14:45:37 · 1338 阅读 · 0 评论 -
《Effective c++ 》 接口与实现分离 文件间的编译依存关系降至最低
参考Effective c++中的条款31 将文件间的编译依存关系降至最低 。Person.hclass Date; // 类的前置声明class Address;class Person{public: virtual ~Person(); virtual std::string name() con...原创 2018-04-28 16:07:01 · 202 阅读 · 0 评论 -
条款25 考虑写一个不抛出异常的swap
见 effective c++ 的 条款25 (个人知识点总结)1、当std::swap 对你的类型不高时,提供一个swap成员函数,并确定这个函数不抛出异常 2、如果提供一个member swap, 也请提供一个non-member swap用来调用前者。对于class(而非template),也请特化std::swap. 3、调用swap时应针对std::swap 使用using声明,...原创 2018-04-25 13:49:22 · 127 阅读 · 0 评论 -
条款21 必须返回对象时,别妄想返回reference pointer
参考effective c++ 条款21。class Rational{public: Rational(int number = 0, int denominator =1); // 这里为什么不用explictprivate: int n, d; const Rational operator* (const Rational& lhs, const...原创 2018-04-24 16:36:44 · 115 阅读 · 0 评论 -
虚析构函数 和 构造函数中最好不要调用虚函数
参考Effective c++ 条款7 和调款9条款7: 多态性质的基类虚析构函数的重要性!1、带多态性质的 base classes应该声明一个virtual 析构函数, 如果class带有任何virtual函数,它就应该拥有一个virtual析构函数。2、classes的设计目的如果不是作为base virtual 使用,就不是为了具备多态性,就不该声明virtual析构函数...原创 2018-04-20 09:44:44 · 270 阅读 · 0 评论 -
mutable 改变const成员函数的约束
mutable(可变动的) 下面是例子:#ifndef TEXT_BLOCK_H_#define TEXT_BLOCK_H_class TextBlock{public: // ......... // std::size_t length() const;private: char* pText; std::size_t textLength...原创 2018-04-19 09:53:00 · 280 阅读 · 0 评论 -
decltype 与 后置类型
1、一个简单的加法模板:template <class T>T Add(T a,T b){ return a+b;}如果改写成这样:template <class T>T Add(T a, T b){ ?type? nuo = a+b;}其中nuo的a+b的类型是无法提前知道的,则可以用:template <...原创 2018-03-20 14:54:35 · 430 阅读 · 0 评论 -
C/C++怎样产生任意指定范围的随机数?
srand(time(NULL));之后调用rand()即可得到0 ~ 32757范围的随机数包含头文件stdlib.h和time.h 或 cstdlib和ctime#include <stdlib.h>#include <time.h>或#include <cstdlib>#include <ctime>用下列公式即可得到指定范围[m,n]的随机数:r = rand()%(n - m + 1) +转载 2017-08-09 11:51:51 · 1795 阅读 · 0 评论 -
链表类模板
#include using namespace std;class CNode //定义一个节点类{public: CNode *m_pNext; //定义一个节点指针,指向下一个节点 int m_Data; //定义节点的数据 CNode() //定义节点类的构造函数 { m_pNext = NULL;//将m_pNext设置为空 }};template //定原创 2017-06-09 16:56:29 · 733 阅读 · 0 评论 -
1.简单的建立 UDP 传输
接收端:#include //接收端#include using namespace std;#pragma comment(lib,"ws2_32.lib")enum {PORT = 8888};//设置端口为8888int main() { WSADATA wd; WSAStartup(0x0202,&wd);//目前最高是2.2版本 SOCKET sock = sock原创 2017-06-04 10:10:57 · 311 阅读 · 0 评论 -
c++函数模板的使用
#include //函数模板的使用//#define max(a,b)((a) > (b)?(a):(b))宏定义using namespace std;templatetype max(type a,type b) //整形数和实型数进行比较{ return (a > b) ? a : b;}char *max(char * a, char *b) //字符串的原创 2017-06-07 15:32:28 · 229 阅读 · 0 评论 -
C++的多重继承
#include using namespace std;class CBicycle {protected: int m_iWeight;public: CBicycle() { cout << "Bicycle Construct" << endl; } CBicycle(int iWeight) { m_iWeight = iWeight; } void原创 2017-06-07 11:18:18 · 186 阅读 · 0 评论 -
重载运算符operater用法
#include using namespace std;class CBook {protected: int m_iPage;public: CBook(int iPage) { m_iPage = iPage; } /*operator类型名(); operator是需要重载的运算符,整个语句没有返回类型,因为 类型名就代表了它的返回类型,重载运算符将对象装换成原创 2017-06-07 10:49:05 · 3440 阅读 · 0 评论 -
C++中string 与 char *赋值
#include #include #pragma warning(disable:4996)//vs弃用strcpyint main() { using namespace std; string input; cin >> input; int m_long; m_long = sizeof(input);//获取输入的长度 char * m_input = new ch原创 2017-06-01 18:49:35 · 9882 阅读 · 0 评论 -
简单的链表与自动清理内存
#define _CRT_SECURE_NO_WARNINGS#include //链表的打印using namespace std;typedef int DATA;struct Snode { DATA data; Snode* pNext;};//g代表:global//m代表:memberclass CList //链表{public: CList() {原创 2017-05-28 17:51:45 · 904 阅读 · 0 评论 -
把字符串中的数字转为 int 存储到 vector 中
工作中自己写的一个,存储用。。。 typedef std::vector&amp;amp;amp;amp;amp;lt;INT8&amp;amp;amp;amp;amp;gt; CardsVec; CardsVec CardsStoi(std::string strCards, char sign) { int i = 0; std::string tmpStr; CardsVec cardsVec;原创 2018-07-17 11:20:45 · 1164 阅读 · 0 评论