
C++编程
文章平均质量分 57
Mind_V
这个作者很懒,什么都没留下…
展开
-
C++模板类中声明友元函数重载输入和输出运算符时,提示无法解析的外部符号解决方案
在练习模板类的重载输入输出运算符时,编译器提示“无法解析的外部符号”,代码如下:template <typename T>class matrix{ friend ostream& operator<<(ostream &out, const matrix<T> &m); friend istream& operator>>(sstream &in, matrix<T> &m);原创 2017-04-18 14:51:39 · 5407 阅读 · 3 评论 -
C++中new一个动态数组(内置类型和自定义类型的区别)
在学习数据结构与算法的时候,T *p = new T[n]的算法复杂度为Θ(n),而int *p = new int[n]的算法复杂度为Θ(1)。 C++ primer的动态内存的讲解没有关于这一点的解释,自己测试了一下:#include<iostream>using namespace std;struct myClass{ int i = 5;};ostream &operato原创 2017-04-25 15:41:38 · 5776 阅读 · 1 评论 -
编写C++函数:识别一段string字符串是IPv4还是IPv6
今天做到Calix(南京凯易迅)的笔试题,其中有一题大致意思是:vector<string>中存有string字符串,识别每一个字符串是否是ip地址,三种可能:IPv4、IPv6、Neither,将每个字符串的识别结果依次存入一个vector<string>中返回。 编写函数:vector<string> checkIP(vector<string> &ip_array{ } 如: 输入:原创 2017-05-15 16:06:08 · 4885 阅读 · 1 评论 -
深入理解浮点数类型float和double
浮点数的表示浮点数格式首先看一下64位机器中的浮点数float和double格式:浮点数位表示有三个字段,分别对这些值进行编码:符号位s,阶码字段exp和小数字段frac。单精度float浮点格式中,s、exp和frac分别为1,8和23位,得到一个32位的表示;双精度double浮点格式中,s、exp和frac分别为1,11和52位,得到一个64位的表示。编码知道了浮点数的位表示,那如何对数值进行原创 2017-07-17 13:14:29 · 4976 阅读 · 0 评论 -
理解C++中引用的底层实现
1、C++ Primer提到:引用并非对象,相反的,它只是为一个已经存在的对象所起的另外一个名字。引用的定义必须伴随初始化,而且一旦定义了引用,就无法令其再绑定到另外的对象,之后每次使用这个引用都是访问它最初绑定的那个对象。2、何为对象? 对于面向对象来说,对象就是类的实例,是抽象化的数据本身。 更广义的来说,一个int型变量可以是对象,一个指针也可以是对象,但一个引用却又不是对象。原创 2017-11-23 21:19:31 · 2677 阅读 · 0 评论