c++
文章平均质量分 82
_大猪
这个作者很懒,什么都没留下…
展开
-
warning : 无法找到 v141 的生成工具
文章转载自:https://blog.csdn.net/qq_36279445/article/details/90768283warning : 无法找到 v141 的生成工具。安装 v141 可使用 v141 生成工具进行生成。在C++项目上 右击 =》 属性 =》...转载 2020-02-21 15:20:32 · 2171 阅读 · 0 评论 -
VS报错—无法打开输入文件“v8.dll.lib”
报错问题Microsoft Visual Studio 2017 版本 15.0.28010.2041。版权所有 (C) Microsoft Corp。保留所有权利。1>------ 已启动生成: 项目: libcocos2d, 配置: Release Win32 ------1>AudioEngine.cpp1>g:\programfiles\cocoscreato...原创 2020-02-16 16:02:47 · 3992 阅读 · 0 评论 -
c++获取lua中table的数据
首先,我们来简单了解一下lua中的Table。Table是lua中唯一内置的数据结构类型。也就是说,它没有内置list、array、map、set等等数据结构类型。在lua里面那些数据类型都是通过Table来实现的。在lua中的,Table是非常强大和重要的。当我们需要将lua嵌入到应用程序里面的时候,不可避免的需要操作Table。本文就来讨论一下如何在C语言中读取Lua中Table的内容。原创 2017-12-21 10:03:54 · 7174 阅读 · 3 评论 -
cocos2dx跨平台直播实例-ffmpeg-ios篇
一、环境 mac 10.12.2 cocos2dx-13.1 ffmpeg 3.0二、新建项目和编译库 cocos2dx按照官网新建一个实例。 ffmpeg编译ios库http://blog.csdn.net/u013654125/article/details/73549132 ffmpeg编译完后,会有得到一个FFmpeg-iOS原创 2017-08-14 15:42:24 · 4344 阅读 · 0 评论 -
八大排序算法-简单选择排序
基本思想:先把数列的第一个数当作最小值,保存起来,用最小值和之后的数据比较,小于最小值则替代最小值。时间复杂度为O(n^2)。实例:int arr[] = { 35, 28, 58, 10, 61, 58, 97, 17 };int k = sizeof(arr) / sizeof(arr[0]);void simpleSelectSort(int data[], int n)原创 2017-10-16 15:10:17 · 724 阅读 · 0 评论 -
八大排序算法总结
排序是计算机程序设计中的一种重要操作,其功能是对一个数据元素集合或序列重新排列成一个按数据元素某个相知有序的序列。可将排序方法分为两大类: 一类是内部排序, 指的是待排序记录存放在计算机存储器中进行的排序过程;另一类是外部排序, 指的是待排序记录的数量很大,以至于内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。而内部排序又为:其中快速排序是目前排序方法中原创 2017-10-14 14:31:49 · 263 阅读 · 0 评论 -
sprintf函数的简要说明
关于sprintf函数的描述是:sprintf指的是字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。头文件是stdio.h。函数原型:int sprintf( char *buffer, const char *format, [ argu原创 2017-10-12 12:00:10 · 614 阅读 · 0 评论 -
c++中静态成员变量要在类外部再定义或初始化的原因
c++中静态成员变量要在类外部再定义,否则产生link2001错误.class testClass{ public: static int m_i;};// 类外部定义,若不写会产生// error LNK2001: unresolved external symbol "public: static int testClass::m_i" (?m_i@testClass...原创 2017-10-12 11:24:14 · 1721 阅读 · 0 评论 -
#include“stdafx.h”详解
文章转载自:http://blog.csdn.net/qingkong8832/article/details/66951231,用VS2008新建项目,选择【Win32】-【Win32控制台应用程序】-输入名称:Test-【确定】 再选【下一步】-默认情况下,我们都是在【空项目】前打上对勾,建立一个纯的C或C++程序。我们这里选择默认,即【预编译头】前打上对勾,之后转载 2017-10-12 10:51:42 · 15779 阅读 · 0 评论 -
C、C++内存对齐
文章转载自:http://www.jellythink.com/archives/413#include <iostream>using namespace std;struct Test_A{ char a; char b; int c;};struct Test_B{ char a; int c; c...转载 2017-10-09 14:31:54 · 236 阅读 · 0 评论 -
简单理解c语言——‘\0’ ,‘0’, “0” ,0之间的区别
看来基础还是很重要的,基础不扎实就难以学好c语言,就别说写出高质量的c语言代码了。今天,我就被这个问题折磨的不行了,哈哈,不过现在终于明白了‘\0’ ,‘0’, “0” 之间的区别了。困惑和快乐与你分享! 首先比较一下‘\0’和‘0’的区别。有一个共同点就是它们都是字符,在c语言中,字符是按其所对应的ASCII码来存储的,一个字符占一个字节。请翻开你的ASCII字符集表吧,一般在你的C转载 2017-10-09 11:31:36 · 687 阅读 · 0 评论 -
c++虚函数和纯虚函数的区别
关于虚函数的定义是:被virtual关键字修饰的成员函数。关于纯虚函数的定义是:是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,把它声明为纯虚函数,它的实现留给该基类的派生类去做。这是是纯虚函数。 虚函数的简单实例:定义:virtual void 类名:test1();实现:void 类名:test();虚函数的定义和实现要一起,就是说定义了函数一定要实原创 2017-10-09 10:37:53 · 456 阅读 · 0 评论 -
介绍一个个人博客中的几篇c++文章
在下要介绍的这位博主的主页是http://www.jellythink.com/。声明,我绝不是托。。。只是在这位博主的指引下,学习到了很多的知识,并有感于博主的知识渊博,所以写下这篇文章。这们博主的文章条理清楚,如果是程序老鸟,可以从中发现更新的知识点;如果是新手,那更是让人觉得浅显易懂。这位博主除了有c++的文章,在下还觉得他的lua文章也是值得去仔细口味一番的。对于lua文章原创 2017-08-22 11:58:50 · 631 阅读 · 0 评论 -
cocos2dx跨平台直播实例-ffmpeg-android篇
一、环境 windows10(mac的虚拟机) cocos2dx-3.13.1 android(adt-bundle-window-86_64-20140702) ffmpeg-3.0 ndk(android-ndk-r10c) 好了,其他的比如jdk什么的就不说了。二、项目配置 大家想要在android上运行cocos2d...原创 2017-08-14 16:40:01 · 4607 阅读 · 9 评论 -
指针占几个字节
文章转载自:http://blog.csdn.net/koches/article/details/7627381指针即为地址,指针几个字节跟语言无关,而是跟系统的寻址能力有关,譬如以前是16为地址,指针即为2个字节,现在一般是32位系统,所以是4个字节,以后64位,则就为8个字节。可以在自己的电脑上测试下:#include int main(void){ int a=1;转载 2017-08-22 10:57:36 · 2060 阅读 · 0 评论 -
c的free和c++的delete的区别
文章转载自:http://blog.csdn.net/gukesdo/article/details/7506155首先free对应的是malloc;delete对应的是new;free用来释放malloc出来动态内存,delete用来释放new出来的动态内存空间。应用的区别为:1. 数组的时候int *p=(int*)malloc(10*sizeof(int)) 释放的时候 free转载 2017-08-22 10:40:49 · 298 阅读 · 0 评论 -
虚函数和纯虚函数的区别
文章转载自:http://blog.csdn.net/hackbuteer1/article/details/7558868首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这转载 2017-08-22 10:35:52 · 181 阅读 · 0 评论 -
namespace没有变量名的解析
匿名namespace直接在文件里面不加修饰的访问就OK了,但是超出这个文件就不行了譬如这样namespace{ int value;}int main(){ value=1;}这样做是为了避免污染用户变量。原创 2017-04-20 14:34:57 · 1547 阅读 · 0 评论 -
mac下编译protobuf c++
由于官网的文档是英文版的,并且并没有比较详细的说明(可能说得很清楚了,只是我这种英文渣看不懂),学习起来着实费了一翻功夫。在此,记录一下学习过程,希望尽量详细。一、编译过程需要的工具1.protobuf源码,下载地址:https://github.com/google/protobuf/releases,看自己要先哪个版本,就选择对应的Source code,可以选择zip或者tar.原创 2017-06-19 16:54:08 · 5202 阅读 · 0 评论 -
SDL ios音频简单测试例子-借鉴雷大神的代码
本实例主要代码如下:AudioPlayerSDL2.mm//// AudioSDLTest.m// AudioTest//// Created by zhufu on 2018/1/20.// Copyright © 2018年 zhufu. All rights reserved.//#import "AudioPlayerSDL2.h"//Buffer://|原创 2018-02-01 15:14:03 · 1277 阅读 · 0 评论 -
C++中的Lambda表达式
文章转载自:http://www.jellythink.com/archives/668我是搞C++的一直都在提醒自己,我是搞C++的;但是当C++11出来这么长时间了,我却没有跟着队伍走,发现很对不起自己的身份,也还好,发现自己也有段时间没有写C++代码了。今天看到了C++中的Lambda表达式,虽然用过C#的,但是C++的,一直没有用,也不知道怎么用,就可怜的连Lambda语法都看不懂...转载 2019-08-29 16:25:48 · 365 阅读 · 0 评论 -
C++11中的std::function
文章转载自:http://www.jellythink.com/archives/771看看这段代码先来看看下面这两行代码:std::function<void(EventKeyboard::KeyCode, Event*)> onKeyPressed;std::function<void(EventKeyboard::KeyCode, Event*)> o...转载 2019-08-29 16:15:02 · 4208 阅读 · 1 评论 -
C++11中的std::bind
文章转载自:http://www.jellythink.com/archives/773看看这段代码这几天学习Cocos2d-x,看到了以下的一段代码:// new callbacks based on C++11#define CC_CALLBACK_0(__selector__,__target__, ...) std::bind(&__selector__,__tar...转载 2019-08-29 16:09:59 · 88926 阅读 · 15 评论 -
C++中复制构造函数与重载赋值操作符总结
文章转载自:http://www.jellythink.com/archives/378前言这篇文章将对C++中复制构造函数和重载赋值操作符进行总结,包括以下内容:复制构造函数和重载赋值操作符的定义; 复制构造函数和重载赋值操作符的调用时机; 复制构造函数和重载赋值操作符的实现要点; 复制构造函数的一些细节。复制构造函数和重载赋值操作符的定义我们都知道,在C++中建立...转载 2019-08-29 16:03:14 · 1359 阅读 · 2 评论 -
static_cast、dynamic_cast、const_cast和reinterpret_cast总结
文章转载自:http://www.jellythink.com/archives/205前言这篇文章总结的是C++中的类型转换,这些小的知识点,有的时候,自己不是很注意,但是在实际开发中确实经常使用的。俗话说的好,不懂自己写的代码的程序员,不是好的程序员;如果一个程序员对于自己写的代码都不懂,只是知道一昧的的去使用,终有一天,你会迷失你自己的。C++中的类型转换分为两种:隐式类型转...转载 2019-08-29 15:39:24 · 216 阅读 · 0 评论 -
C++11中的智能指针
文章转载自:http://www.jellythink.com/archives/684千呼万唤始出来上一篇《从auto_ptr说起》中详细的总结了C++98标准中的auto_ptr,但是随着C++11的到来,auto_ptr已经不再了,即将成为历史;好的东西总是会受到大家的欢迎的,随着大家都在使用“准”标准库boost中的shared_ptr;C++标准委员会终于觉的是时候将shared...转载 2019-08-29 14:49:30 · 470 阅读 · 0 评论 -
智能指针—从auto_ptr说起
文章转载自:https://blog.csdn.net/k346k346/article/details/81478223auto_ptr 是STL中智能指针家族的成员(auto_ptr、unique_ptr_、share_ptr、week_ptr)之一,由C++98引入,定义在头文件<memory>。其功能和用法类似于unique_ptr,由 new expression ...转载 2019-08-29 12:06:01 · 193 阅读 · 0 评论 -
CocosCreator图片资源加密解密
文章转载自:http://www.cnblogs.com/pixs-union/p/6226337.html主要处理png图片,其他格式图片也是一样的原理。阅读前可以简略了解一下png格式图片的Data trunck。 首先使用python脚本去掉png的PNG SIG(8 bytes) 以及末尾的PNGIEND(12 bytes)。然后图片剩余数据的每一个字节和秘钥字符串的每一个...转载 2019-04-19 15:59:59 · 7209 阅读 · 3 评论 -
cocos2dx c++、lua listView创建示例
由于官方没有listView类的测试例子,给大家的学习会造成一定的影响,所以希望这篇文章对大家有用处。c++: ui::ListView* lv = ui::ListView::create(); lv->setDirection(ui::ScrollView::Direction::VERTICAL);//设置方向为垂直方向 lv->setBounceEnabled原创 2017-08-03 10:53:07 · 4100 阅读 · 0 评论 -
c++的char[]和char*的区别
大家先来看这道测试题: char str1[] = "abc";char str2[] = "abc";const char str3[] = "abc";const char str4[] = "abc";const char *str5 = "abc";const char *str6 = "abc";char *str7 = "abc";c原创 2018-03-30 18:04:22 · 40706 阅读 · 11 评论 -
c++用vector先按学生的年级排序,再按学生的分数排序算法
// VectorSort.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "stdio.h"#include "string.h"#include using namespace std;struct Stu{ std::string name; int level; int score;};int _tmai原创 2018-03-31 15:31:51 · 1488 阅读 · 0 评论 -
八大排序算法-希尔排序
希尔的定义:希尔排序是插入算法的一种,也叫缩小增量排序。是直接插入排序算法的一种改良版。希尔算法是把数据序列按下标的一定增量分组,对每组使用直接插入排序算法进行排序;然后依次缩减增量再进行排序,待整个序列中的元素基本(注:没有全部完成排序)有序时,再对全体元素进行一次直接插入排序。基本思想:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所以距离为d1的倍数的记录放在同一个组原创 2017-10-16 09:47:13 · 260 阅读 · 0 评论 -
八大排序算法-直接插入排序
直接插入排序的思想是:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。直接插入排序是由两层嵌套循环组成的。外层循环标识并决定待比较的数值。内层循环为待原创 2017-10-14 15:57:11 · 290 阅读 · 0 评论 -
如何编译protobuf for IOS
在为iOS平台编译google protobuf时,我自己制作了一个脚本 :protobuf-build-script该脚本可以自动下载指定版本的源码,并且进行编译,可以修改脚本内部的版本号来编译各个版本。一次编译直接生成armv7 armv7s arm64静态库。xcode8 protobuf-2.6.1 测试通过。希望大家一起维护这个脚本。转载 2017-08-09 15:01:13 · 847 阅读 · 0 评论 -
c++11std::thread扩展
文章转载自:http://blog.csdn.net/chao_xun/article/details/8037438一.queue模版类的定义在头文件中。queue与stack模版非常类似,queue模版也需要定义两个模版参数,一个是元素类型,一个是容器类型,元素类型是必要的,容器类型是可选的,默认为dqueue类型。定义queue对象的示例代码如下:queueq原创 2017-08-18 10:32:08 · 370 阅读 · 0 评论 -
C++11多线程std::thread的简单使用
最近,整理一下学习c++的文章,看到一篇文章,其中提到了thread_local和std::future,觉得这两东西很有趣,于是网上搜了一些资料,觉得很有帮助,希望可以对大家学习c++线程有所帮助。http://www.cnblogs.com/haippy/p/3236136.html。这个是线程的基础,说明了std::thread类的运用。http://www.cnblogs.co转载 2017-08-17 17:37:52 · 759 阅读 · 0 评论 -
cocos2dx opengl入门系列四-显示图片
运行环境:mac 10.12.2xcode Version 8.2.1cocos2dx-x-3.13.1代码:新建cocos2dx项目,具体操作官网有教程。新建好后,新建Test.cpp,代码如下://// Test.cpp// Texture//// Created by zhufu on 2017/3/28.////#include "Test原创 2017-06-22 16:41:54 · 527 阅读 · 0 评论 -
在Java中调用C/C++
文章转载自:http://www.cnblogs.com/icejoywoo/archive/2012/02/22/2363709.htmlJNI是Java Native Interface的英文缩写, 中文翻译为本地调用, 自从Java 1.1开始就成为了Java标准的一部分.C/C++是系统级的编程语言, 可以用来开发任何和系统相关的程序和类库, 但是Java本身编写底层的应用比较难实...转载 2017-06-23 15:38:41 · 552 阅读 · 0 评论 -
Android JNI的Android.mk文件语法详解
文章转载自:http://blog.csdn.net/zhangcanyan/article/details/51932758Android.mk简介:android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次。所以,请尽量少的在Android.转载 2017-06-23 14:17:55 · 770 阅读 · 0 评论 -
现代OpenGL教程 01 - 入门指南
文章转载自:http://huangwei.pro/2015-05/modern-opengl1/以下是我学习opengl得到的启示最多的一篇文章,我强烈地建议大家去读一下这位大神的文章!译序早前学OpenGL的时候还是1.x版本,用的都是glVertex,glNormal等固定管线API。后来工作需要接触DirectX9,shader也只是可选项而已,跟固定管线一起混用着转载 2017-06-23 09:51:21 · 42310 阅读 · 3 评论