![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
慕彦
向大神级别进军,加油,相信自己可以的!!!
展开
-
C++中set用法详解
set是关联式容器,set作为一个容器用来存储同一数据类型的数据,并且能从数据集合中取出数据,在set中每个元素的值都是唯一的,而且系统能根据元素的值自动进行排序。应该注意set中元素的值不能直接被改变。#include<set> #include<iostream> using namespace std;int main(){ set<...原创 2019-07-09 15:55:22 · 896 阅读 · 0 评论 -
C++中的 istringstream 的用法
今天在看别人的C++程序源码的时候,看到了一个比较有用的C++的输入输出控制类。因为之前没有使用过,故特地学习了一下,在此总结。程序源码中使用了这样的语句:ifstream fin(fname);int a,b,c;string s;getline(fin, s);istringstream ss(s);ss >> a>>b>>c;将读入的一行...转载 2019-09-05 10:51:34 · 582 阅读 · 0 评论 -
字符串分割
#include <iostream>#include <vector>#include <cstring>#include <string>using namespace std;vector<string> split(const string& str, const string& delim) { v...转载 2019-09-03 15:48:48 · 147 阅读 · 0 评论 -
指针函数和函数指针
指针函数:int *p();使用指针变量作为函数的返回值,就是指针函数。不要返回局部变量的指针。函数指针:int (*p)();指向函数的指针。函数指针的使用:#include <stdio.h>int add(int, int);int add(int num1, int num2) { return num1 - num2;}int main() { in...原创 2019-09-03 15:23:17 · 118 阅读 · 0 评论 -
新浪C++笔试
1.n个人的体重,将两个人组成一组,且这两个人的体重不能超过k,求最多能组成几组6 545 51 57 70 65 40结果:2#include <iostream>#include <algorithm>using namespace std;int main() { int n, k; cin >> n >> k; ...原创 2019-09-01 13:14:05 · 175 阅读 · 0 评论 -
c++字符串长度求法(string,char*)
(1)length():最直接字符串长度(2)size():字符串长度(类似string内char元素个数)(3)strlen(char*):函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个’\0’,如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到’\0’停止。(1)length()#include <string>string u...转载 2019-08-26 13:48:29 · 1619 阅读 · 0 评论 -
重载、重定义、重写
1.重载在同一作用域内,定义了两个函数名相同,参数列表不同的函数,(无关返回值),这两个函数构成重载。2.重定义在继承关系中,子类中定义了与基类中的函数名相同的函数,(无关参数列表和返回值),子类中的函数覆盖了基类中的函数。3.重写在继承关系中,子类中定义了与基类中虚函数的函数名相同,参数列表相同的函数,(无关返回值)。...原创 2019-08-17 16:00:06 · 148 阅读 · 0 评论 -
strcpy()、strncpy()、memcpy()区别
1.strcpy()函数函数原型:char * strcpy ( char * destination, const char * source );strcpy把source 所指向以’\0’结尾的字符串复制到destination所指的数组中,返回指向destination的指针。当sizeof(destination)>=sizeof(source)时,拷贝正确,并在dest字符...原创 2019-08-17 13:49:42 · 139 阅读 · 0 评论 -
虚函数与纯虚函数的区别?
1.纯虚函数在虚函数的定义后面加上=0;2.包含纯虚函数的类属于抽象类,不能实例化对象3.虚函数在类中可以定义方法,派生类可以重写或者不写;纯虚函数在类中不可以定义方法,在派生类中必须实现。...原创 2019-08-12 20:31:37 · 99 阅读 · 0 评论 -
new和malloc区别
new和malloc区别1.申请内存所在的位置new操作符从自由存储区上为对象动态分配内存空间,而malloc函数从堆上为对象分配内存空间。自由存储区可以是堆也可以是静态存储区,这取决于operator new的实现细节。2.返回类型安全性new操作符内存分配成功时,返回的是对象类型指针,类型严格与对象匹配,无须进行类型转换,故new是符合类型安全性的操 ...转载 2019-08-02 14:19:58 · 100 阅读 · 0 评论 -
C++多态实现
多态公有继承多态:同一个方法在派生类和基类中的行为是不同的,方法的行为取决于调用该方法的对象,即同一方法的行为随上下文而异。实现多态公有继承的两种重要机制:1.在派生类中重新定义基类方法2.使用虚函数virtual虚函数的作用:如果方法是通过引用或者指针而不是对象调用,他将确定使用哪一种方法。如果没有使用关键字virtual,程序将根据引用类型或者指针类型选择方法;如果使用了关键字v...原创 2019-08-01 11:09:04 · 83 阅读 · 0 评论 -
C++11智能指针
智能指针作用:管理一个指针,在函数结束时自动释放内存空间,不需要手动释放。(普通指针申请内存空间在函数结束时需手动释放内存,容易忘记,造成内存泄漏。智能指针很大程度上可以避免这个问题,因为智能指针是一个类,当超出类的作用域时,类会自动调用析构函数,析构函数会自动释放资源。)1.auto_ptr(c++98de 方案,c++11已经抛弃)采用所有权模式。auto_ptr p1(new str...原创 2019-07-31 21:15:01 · 71 阅读 · 0 评论 -
C++内部排序
//直接插入排序,时间复杂度为o(n^2)void InsertSort(int* p){ int guard;//哨兵 for(int i = 1;i < p.length;++i){ if(compare(p[i],p[i-1])){ guard = p[i]; p[i] = p[i-1]; ...原创 2019-07-16 20:00:02 · 161 阅读 · 0 评论 -
C++面试经
1.什么是右值引用,跟左值引用有什么区别?左值:能对表达式取地址、或具名对象/变量。一般指表达式结束后依然存在的持久对象。可被引用的数据对象,可通过地址访问它们,常规变量和const变量都可视为左值,但是常规变量是可修改的左值,const变量属于不可修改左值。右值:不能对表达式取地址,或匿名对象。一般指表达式结束就不再存在的临时对象。包括字面常量(用引号引的字符串除外,它们由其地址表示)和...原创 2019-07-15 10:23:46 · 102 阅读 · 0 评论 -
比较版本号—leetcode165
比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。你可以假设版本字符串非空,并且只包含数字和 . 字符。. 字符不代表小数点,而是用于分隔数字序列。例如,2.5 不是“两个半”,也不是“差一半到三”,而是第二版中的第五个小版本。你可以假设...原创 2019-09-05 11:07:58 · 226 阅读 · 0 评论