C++
xz1308579340
这个作者很懒,什么都没留下…
展开
-
C++:使用void *传递多个参数
不多说直接上代码函数test只有一个传入参数void *,但是我们有两个需要传入的参数void test(void *names){ char name[128]; strcpy_s(name, 128 , (char *)names); char name1[128]; strcpy_s(name1,(char *) names+128); cout << ...原创 2018-10-30 15:12:53 · 5441 阅读 · 1 评论 -
c++学习笔记5:异常处理
c++学习笔记5:异常处理文章目录c++学习笔记5:异常处理1.基本概念2.抛出异常3.捕获异常4.C++ 标准的异常5.定义新的异常1.基本概念异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字:try、catch、throwthrow: 当问题出现时,程序会抛出一个...转载 2018-12-03 21:20:04 · 222 阅读 · 0 评论 -
c++学习笔记6:动态内存
c++学习笔记6:动态内存文章目录c++学习笔记6:动态内存@[toc]1.new 和 delete 运算符2.数组的动态内存分配3.对象的动态内存分配了解动态内存在 C++ 中是如何工作的是成为一名合格的 C++ 程序员必不可少的。C++ 程序中的内存分为两个部分:**栈:**在函数内部声明的所有变量都将占用栈内存。**堆:**这是程序中未使用的内存,在程序运行时可用于动态分配内存。...转载 2018-12-04 09:33:19 · 203 阅读 · 0 评论 -
C++学习笔记7:数据抽象
C++ 数据抽象文章目录C++ 数据抽象1.基本概念2.访问标签强制抽象3.数据抽象的实例4.设计策略1.基本概念数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。数据抽象是一种依赖于接口和实现分离的编程(设计)技术。让我们举一个现实生活中的真实例子,比如一台电视机,您可以打开和关闭、切换频道、调整音量、添加外部组件(如喇叭、录像机、DVD ...转载 2018-12-04 09:45:26 · 149 阅读 · 0 评论 -
c++学习笔记8:数据封装
c++学习笔记8:数据封装文章目录c++学习笔记8:数据封装@[toc]1.C++ 数据封装2.数据封装的实例3.设计策略1.C++ 数据封装所有的 C++ 程序都有以下两个基本要素:**1.程序语句(代码):**这是程序中执行动作的部分,它们被称为函数。**2.程序数据:**数据是程序的信息,会受到程序函数的影响。封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,...转载 2018-12-04 09:54:39 · 159 阅读 · 0 评论 -
c++:遍历文件夹下所有文件
包含头文件不一定要这么多,懒得区分了,一并粘贴吧#include "stdafx.h"#include <iostream>#include <string>#include <direct.h> //_mkdir函数的头文件#include &amp原创 2019-02-27 21:32:59 · 2432 阅读 · 1 评论 -
牛客网编程规范c++版本
直接以一个题目为例子题目描述玥玥带乔乔一起逃亡,现在有许多的东西要放到乔乔的包里面,但是包的大小有限,所以我们只能够在里面放入非常重要的物品。现在给出该种物品的数量、体积、价值的数值,希望你能够算出怎样能使背包的价值最大的组合方式,并且输出这个数值,乔乔会非常感谢你。输入描述:第1行有2个整数,物品种数n和背包装载体积v;第2行到i+1行每行3个整数,为第i种物品的数量m、体积w、价值s...原创 2019-03-10 11:35:11 · 1191 阅读 · 0 评论 -
c++:定义固定大小的二维数组
方法一 const int a = 5; const int b =7; int data[a][b];方法二:2*5初始大小都是5vector<vector<int>> grid(2,vector<int>(5, 0));原创 2019-03-20 11:20:29 · 3584 阅读 · 0 评论 -
c++学习笔记4:命名空间
c++学习笔记4:命名空间文章目录c++学习笔记4:命名空间@[toc]1.定义命名空间2.using 指令3.不连续的命名空间4.嵌套的命名空间假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。同样的情况也出现在 C++ 应用程序中。例如,您可能会写一个名为 xyz() ...转载 2018-12-03 19:17:50 · 142 阅读 · 0 评论 -
c++学习笔记3:重载
c++学习笔记3:重载文章目录c++学习笔记3:重载@[toc]1.C++ 中的函数重载2运算符重载3.可重载运算符/不可重载运算符4.运算符重载实例C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个重载函数或重载运算符时,...转载 2018-12-02 16:12:38 · 173 阅读 · 0 评论 -
c++学习笔记2:类
c++学习笔记2:类文章目录c++学习笔记2:类1类的基础知识2.构造函数2.1典型用法2.2带参数的构造函数2.3使用初始化列表来初始化字段3.析构函数1类的基础知识** 类(class)**是一种将数据和函数组织在同一个结构里的逻辑方法。定义类的关键字为class ,其功能与C语言中的struct类似,不同之处是class可以包含函数,而不像struct只能包含数据元素。类定义的形式...转载 2018-12-02 15:24:00 · 168 阅读 · 0 评论 -
C++:c#与c++中结构体对齐问题
使用C#调用C++的dll,参数传递结构体,发现定义的结构体大小不一样,同样定义的结构体,在C#和C++中使用sizeof查看后所占字节数不一样,导致乱码。原来要对C#代码进行对齐处理对齐方法如下C++中定义结构体typedef struct{ bool useLogo = false; Point p1; Point p2; Point p3; Point p4; boo...原创 2018-10-30 15:20:49 · 1781 阅读 · 1 评论 -
C++:使用当前时间创建文件夹
程序效果:用于判断文件夹是否存在不存在创建的函数void newmkdir(string dir){ int m = 0, n; string str1, str2; str1 = dir; str2 = str1.substr(0, 2); //substr是C++语言函数,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度 str1 = str1.substr(...原创 2018-11-06 09:51:07 · 3035 阅读 · 2 评论 -
leveldb的使用
leveldb的使用leveldb 是一个著名的key-value数据库如何使用 leveldbkey, value可以是任意的字节数组,key之间是有序的。key的比较函数可以由用户指定。打开一个数据库leveldb的数据库文件和它在文件系统中的目录名一致,所有的数据库文件都保存在这个目录里面。#include &amp;lt;cassert&amp;gt;#include &quot;leveldb/d...转载 2018-11-20 16:19:31 · 854 阅读 · 0 评论 -
C++程序加速的12个方法
C++程序加速的12个方法文章目录C++程序加速的12个方法1.将反复使用的数据存放在全局变量里面。2.使用多线程3.用a++和++a,a--,--a4.减少除法运算5.尽量减少值传递,多用引用来传递参数。6.循环引发的讨论1(循环内定义,还是循环外定义对象)7.循环引发的讨论2(避免过大的循环)8.局部变量VS静态变量9.避免使用多重继承10.将小粒度函数声明为内联函数(inline)11....原创 2018-11-21 21:11:09 · 21151 阅读 · 4 评论 -
c#调用c++生成的dll(1)
基本概念C#工程不可以直接调用C++的头文件和Lib库等所以在程序中C#需要调用的现象,先将C++的东西封装成动态链接库,再调用若调用dll时显示:无可用源调用,说明导入的DLL路径不对。静态库和动态库区别:静态库和动态库是两种共享程序代码的方式,它们的区别是:静态库在程序的链接阶段被复制到了程序中,和程序运行的时候没有关系;动态库在链接阶段没有被复制到程序中,而是程序...原创 2018-09-17 10:49:06 · 524 阅读 · 0 评论 -
c++:dll缺少依赖文件的解决方法
c++:dll缺少依赖文件的解决方法解决方法需要两步:1.找到dll的所有依赖文件2.把需要的所有dll找到和需要调用的dll放在同一个文件夹用VS的dumpbin命令可以查看目标程序许的dll依赖项打开 开始-&amp;amp;amp;gt;所有程序-&amp;amp;amp;gt;Microsoft Visual Studio 20xx -&amp;amp;amp;gt;Visual Studio命令提示(20xx),其中xx表示你的VS版本,笔原创 2018-11-22 10:52:24 · 20692 阅读 · 0 评论 -
收集整理C++常用知识点
1.,h文件和.c文件的作用与区别https://www.cnblogs.com/zhenghao2/p/6596722.htmlhttp://www.cnblogs.com/magicsoar/p/3702365.html2.c++编译原理C++编译与链接(1)-编译与链接过程http://www.cnblogs.com/magicsoar/p/3760201.html3.内部链接与...原创 2018-11-23 09:59:53 · 148 阅读 · 0 评论 -
c++学习笔记1:c与c++的区别
c++学习:c与c++的区别本文为转载,网址我忘了,下次看到我会补一下网址,不好意思。文章目录c++学习:c与c++的区别1.C++概述1.1发展历史1.2 c和c++2.关键字和变量3.强制类型转换4.标准输入输出流5.函数参数问题5.1.无名的函数形参5.2函数的默认参数6.函数重载6.1参数个数不同6.2 参数格式不同7.变量作用域8.new和delete运算符8.1为固定大小的数组分...转载 2018-12-02 14:32:59 · 245 阅读 · 0 评论 -
c++学习笔记10:模板
c++学习笔记10:模板原文地址https://www.cnblogs.com/gaojun/archive/2010/09/10/1823354.html文章目录c++学习笔记10:模板1.模板的概念2. 函数模板的写法3.类模板的写法4.非类型模版参数5.使用模板类型6. 模板的特化1.模板的概念我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通...转载 2018-12-04 11:22:32 · 132 阅读 · 0 评论 -
计算机数据结构基础
32位和64位系统的差别https://blog.csdn.net/Sky_qing/article/details/11650497由上可见所有的问题都是由long和指针长度改变引起,在开发过程中只有牢记long和指针类型的长度。为什么Int类型负数比正数多一个32位int类型的整数取值范围是[−2^31, 2^31 − 1],我们发现正数比负数多一个,这是怎么来的呢?这里有一个0值的...原创 2019-04-08 11:16:05 · 532 阅读 · 0 评论