![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
yu_1992_11_25
每天进步一点点
展开
-
c++17/20 auto推导规则
c++17 auto推导规则规则1: auto 声明的变量是按值初初始化。 如果没有显示的使用引用,也没有指针。那么编译器在推导的时候会忽略const和volatile限定符。const int a =10;auto b = a; // b 为 int, 而不是constauto &c = a;// c 为 const int&const auto e = a; //auto 推导的类型为int, e的类型为 const int(auto)规则2: auto声明变量原创 2021-11-16 14:19:50 · 718 阅读 · 0 评论 -
namespace嵌套命名空间的简化语法
有时候打开一个嵌套命名空间可能只为了向前生命某个类。或者函数,但是却要编写冗余的嵌套代码,加入一些无畏的缩进,c++17推出一种更加简洁的方式namespace A::B::C { int foo() { return ... }}等同于一以下代码namespace A { namespace B{ namespace C { } }}...翻译 2021-11-13 22:33:00 · 485 阅读 · 0 评论 -
如何在linux中打印程序堆栈信息
如何在linux中打印程序堆栈信息 有时候在写完代码之后需要自己手动测试功能,在linux环境中往往需要gdb调试打断点查看堆栈。往往公司的服务器一般是多人同时使用的。往往性能不是太强。gdb调试的时候载入的时候Reading symbols from的时候往往会卡那么一会儿虽然时间不长,但是很烦。我在这里写了简单实用打印堆栈的工具类。算是减少一点工作量。 偶尔会遇到程序崩溃的情况,但是在一些线上部署环境的时候通常调试环境很复杂,通常由于特殊情况下core文件无法产生,或者无法拿到。这个类也.原创 2021-11-11 11:54:15 · 7085 阅读 · 0 评论 -
一文搞懂linux时间片,硬件时钟,软件时钟,实时时钟,时间中断,墙上时间
时间片: 时间片是一个数值,它表明程序在被抢占前所持续运行的时间。相对时间绝对时间区别: 如果某个时间在5s后呗调度执行,那么系统所需要的不是绝对时间,而是相对时间(比如,相对现在5s后);相反,如果被要求管理当前日期和当前时间,则内核不但要计算流逝的时间而且还要计算绝对时间.实时时钟(又名硬件时钟,时钟硬件,系统定时器):(理解为一个电子设备) A real-time clock (RTC) is an electronic device (most often in the for原创 2021-11-09 12:27:50 · 6186 阅读 · 0 评论 -
精确测试执行一个函数所需时间
精确测试执行一个函数所需时间c++11 新增了 std::chrono library 库包含了三种时钟system_clock 系统时钟steady_clock 稳定时钟 (单调时钟) 绝不会调整的high_resolution_clock 高分辨率时钟三种结构体的主要参数 //部分源码 /** * @brief System clock. * * Time returned represents wall time from the system原创 2021-11-04 15:03:11 · 273 阅读 · 0 评论 -
C语言数字转化为字符串
#include int len(char *str){ int i = 0; while (str[i]) { i++; } return i;}void reverse(char *str) //讲字符串首尾颠倒{ int i_len = len(str); char tmp = 0; int i = 0; for (; i < (i_len / 2);原创 2015-01-14 14:59:10 · 784 阅读 · 0 评论 -
C语言字符串转化为数字
#include int len(const char * str) //得到字符串长度,类似雨strlen函数功能{ int i = 0; while (str[i]) { i++; } return i;}int chartoi(char c){ if ((c>='0')&&(c<='9')) { return c - 0x30; } return原创 2015-01-14 14:57:30 · 3180 阅读 · 0 评论 -
cocos2d-x CCMenu详细源码分析
.htypedef enum { kCCMenuStateWaiting, // 表示没有菜单项被选中 kCCMenuStateTrackingTouch // 表示有菜单项被选中} tCCMenuState; enum { //* priority used by the menu for the event handler kCCMenuHandle原创 2014-10-10 18:40:52 · 791 阅读 · 0 评论 -
变量声明和定义的区别
CrazysPopcorn不多说直接上重点:如果将程序分为多个文件,则需要在有的文件中包含代码的方法,例如,,一个头文件在被包含在另外一个头文件里面,如果一个变量定义2此。。编译器会的报告错误error 变量重定义 相信很多人都见过把变量声明 规定了变量的类型和名称,在这一点上定义与之相同,但是除此之外,定义还申请了存储空间, 也有可能有变量赋上一个初始值;如果想声明一原创 2014-09-27 23:45:11 · 728 阅读 · 0 评论 -
cocos2d-x中如果判断滑动屏幕是从上到下,还是从左到右
今天。本人写一个小游戏,由于 要判断,,屏幕是原创 2014-09-26 14:46:02 · 2585 阅读 · 0 评论 -
cocos2d-x中各种动作和特效的详细解释
bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSprite * sp= CCSprite::create("Icon.png");原创 2014-08-12 17:00:21 · 2755 阅读 · 0 评论 -
关于cocos2d-x2.2.3中定时器<update>的详细解释和使用
转载请标明出处尊重原作者 http://blog.csdn.net/crazyspopcorn_qian原创 2014-08-14 12:21:12 · 690 阅读 · 0 评论 -
C++ vector的使用方法,已经iterator的介绍
vector容器类型 vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的。vector的构造函数原型:template explicit vector(); // 默认构造函数,vector对象为空原创 2014-09-22 11:56:24 · 2231 阅读 · 0 评论 -
C语言中输出string方法c_str()用法
今天突然用printf("%s",str);//str 是一个string的时候突然出现乱码,就查了一下为什么。任何时候只有自己敲代码的时候才能发现,,可以用cout语法: const char *c_str();c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类原创 2014-12-14 18:44:01 · 7813 阅读 · 0 评论 -
C++ 隐式转换。
在C++中;有两种方法可以用来定义从类型From到类型Tode隐式转换。第一种。我们可以在类To中定义一个只含一个参数的构造函数(没有其他参数的缺省参数)class To{public:To(const From&);// or是 To(From)//……};或者我们在Form里面定义个;class From{public:operator原创 2015-01-18 20:21:33 · 524 阅读 · 0 评论 -
bitwise constness与logical constness【EC++笔记】
当成员函数为const时 constness(常量性)bitwise constness:不更换对象内任何一个字节,编译器判断成员变量没有赋值动作即可。不足:class test{public: char& operator[](size_t index) const { return mPointer[index]; } test原创 2015-04-07 11:06:19 · 1704 阅读 · 0 评论 -
LeetCode Longest Substring Without Repeating Characters C++
#include <iostream>#include<string>#include <map>using namespace std;/* Problom: Given a string, find the length of the longest substring without repeating characters. Example原创 2017-08-02 08:51:34 · 271 阅读 · 0 评论 -
LeetCode Reverse Integer C++
class Solution {public: int reverse(int x) {#if 0 //可以用这部分简洁的、 int ans = 0, lo = INT_MIN / 10, hi = INT_MAX / 10; while (x) { if (ans < lo || ans > hi)原创 2017-08-01 15:51:27 · 311 阅读 · 0 评论 -
求每日零点秒数
求每日零点秒数const int GameConfiger::dayzerotime(void){ time_t timep; struct tm *p; time(&timep); //printf("time() : %d \n", timep); p = localtime(&timep); p->tm_hour = 0; p->tm_原创 2017-04-24 11:32:16 · 384 阅读 · 0 评论 -
linux 下 时间字符串怎么解析成秒
//解析类似于 "20160925 12:00:00" 的字符串char tempchar[256];bzero(tempchar,sizeof(tempchar));xml.getNodePropStr(node,"starTime",tempchar,sizeof(tempchar));//这句话随便怎么写,反正就是要把 文本里面的时间读取到 //时间格式为 "20160925原创 2016-09-23 10:43:10 · 1312 阅读 · 0 评论 -
cocos2d-x之-CCMenuItemToggle使用方法
这个可以作为CCmenu的一个item,和CCMenuItemSprite一起使用不同的是,CCMenuItemToggle在点击之后,可以变化图片CCSprite* pauseNormalSprite1 = [CCSprite spriteWithSpriteFrame:[cacheCommon spriteFrameByName:@"pause.png"]];CCSprite*原创 2014-09-11 08:25:43 · 595 阅读 · 0 评论 -
mac下cocos2d-x2.2.3如何获取json文件 ui
UILayer* pUILayer = UILayer::create(); CC_BREAK_IF(!pUILayer); addChild(pUILayer); //当然首先得创建一个/ // pUILayer->setPosition(ccp(300, 200)); UIWidget*原创 2014-08-12 18:06:05 · 834 阅读 · 0 评论 -
C语言读取文本文档里面的字符and 和只读一行;
#define _CRT_SECURE_NO_WARNINGS#include"stdio.h"#include"stdlib.h"#include"string.h"//读void main(){ int i = 0; FILE *fp = NULL; char *filename = "d:/1.txt"; fp = fopen(filename, "r");原创 2014-04-27 21:42:11 · 1478 阅读 · 0 评论 -
有 N个国家名,要求按字母先后顺序排列(用起泡排序法)后输出。
#define _CRT_SECURE_NO_WARNINGS#include"stdlib.h"#include"stdio.h"#include"string.h"int maopao(char p[][100]){ char *buf; buf = (char *)malloc(sizeof(char)* 100); printf("%s", p[1]); int i =原创 2014-04-27 21:48:21 · 12822 阅读 · 0 评论 -
自己建立一个结构体类型,里面有结构体的浅拷贝以及赋值;调用函数排序,void main5避免野指针
#define _CRT_SECURE_NO_WARNINGS#include "stdio.h"#include"stdlib.h"#include"string.h"//自己创建一个数据类型: 数据类型的本质是固定大小内存块的别名//里面的数据类型 类型是 结构体//.c CP注意结构体定义变量的时候,c和C++编译器的处理行为不一样//结构体类型typedef//结构体原创 2014-04-27 21:46:01 · 954 阅读 · 0 评论 -
使用一级指针排序一个字符串数组
#includestdio.h#includestring.h#includestdlib.h排序一个字符串数组; 调用函数打印int myPrintf(char p){ char ArrayStr = p; int i = 0; for (i = 0; i 4; i++) { printf(%sn, ArrayStr[i]); }}int paixu(cha原创 2014-04-27 21:47:27 · 934 阅读 · 0 评论 -
有一个字符串符abcdef,acccd,eeee,aaaa,e3eeeee,sssss以逗号分割字符串,形成二维数组,并把结果传出
#define _CRT_SECURE_NO_WARNINGS#include"stdio.h"#include"string.h"#include"stdlib.h"/*有一个字符串符合以下特征(”abcdef, acccd, eeee, aaaa, e3eeeee, sssss";),要求写一个函数(接口),输出以下结果以逗号分割字符串,形成二维数组,并把结果传出;把二维数组行原创 2014-04-27 21:45:19 · 1766 阅读 · 0 评论 -
合并并且排序指针数组和二维数组里面存放的字符串用函数调用的格式
合并并且排序指针数组和二维数组里面存放的字符串用函数调用的格式,C里面的内存模型;#define _CRT_SECURE_NO_WARNINGS#include"stdio.h"#include"stdlib.h"#include"string.h"char **sortArray1Array2_01(char **pArray1, int nArray1Num, char(*pArray2)[30], int nArray2Num, int *nArray3Num)原创 2014-04-27 21:43:47 · 1000 阅读 · 0 评论 -
有一行字符,统计其中的单词个数(单词之间以空格分隔),并将每一个单词的第一个字母改为大写。
每天自己做的作业!不喜勿喷!#define _CRT_SECURE_NO_WARNINGS#include"stdio.h"#include"stdlib.h"#include"string.h"int myStr(char *p ,int *n){ int *num = n; int biaozhi = 0; //标志 char *str = p; int k = strl原创 2014-04-27 21:53:13 · 4379 阅读 · 1 评论 -
有一个字符串开头或结尾含有n个空格( a b c d ),欲去掉前后中空格,返回一个新字符串
#define _CRT_SECURE_NO_WARNINGS#include"stdio.h"#include"stdlib.h"#include"string.h"/*有一个字符串开头或结尾含有n个空格(" abcdefgddddd "),欲去掉前后中空格,返回一个新字符串;要求1:请自己定义一个接口(函数),并实现功能;要求2;编写测试用例;int trim原创 2014-04-27 21:50:59 · 2801 阅读 · 0 评论 -
排序一个字符串数组,使用数组的的方法排序 第二种内存模型;
#define _CRT_SECURE_NO_WARNINGS#include"stdio.h"#include"stdlib.h"#include"string.h"//二维数组字符串排序..不调用函数//指针类型不一样。=====》内存模型不一样吧。。。。void main1(){ //定义一个指针类型的数组; char myStrout[][30] = { "cccccc",原创 2014-04-27 21:46:55 · 682 阅读 · 0 评论 -
用2种内存模型来排序字符串的的顺序,一种是交换内存地址,第二种是交换内存里面的值;
#define _CRT_SECURE_NO_WARNINGS#include"stdio.h"#include"stdlib.h"#include"string.h"void MyPrintf(char **);void MYSORT(char **, int);void SORTBUF(char **);void main(){ int i = 0; int j = 0原创 2014-05-04 12:12:18 · 1036 阅读 · 0 评论 -
求第一个字符串在第另一个字符串里面出现的次数
#define _CRT_SECURE_NO_WARNINGS#include"stdio.h"#include"stdlib.h"#include"string.h"#includeint num(char *p, char *p2, int *n){ char *temp; //临时指针用来做判断 int k = strlen(p);//算出字符串Str的长度;也就是原创 2014-04-27 21:49:10 · 815 阅读 · 0 评论 -
字符串反转..家庭作业.
#define _CRT_SECURE_NO_WARNINGS#include"stdio.h"#include"stdlib.h"#include"string.h"#include//字符串反转void main(){ char c; //char *str = "abcdefg";这是常量不能修改! char str[] = "abcdefg"; int len = s原创 2014-04-27 21:49:53 · 693 阅读 · 0 评论 -
输入等号前面的字符串,出现后面的字符串。并把空格去掉
#define _CRT_SECURE_NO_WARNINGS#include"stdio.h"#include"stdlib.h"#include"string.h"/*键值对(”key = valude”)字符串,在开发中经常使用要求1:请自己定义一个接口,实现根据key获取valude;40分要求2:编写测试用例。30分要求3:键值对中间可能有n多空格,请去除空格30分注意原创 2014-04-27 21:51:40 · 1715 阅读 · 0 评论 -
cocos2d-x中类似于齿轮旋转,定时旋转,无限旋转
//齿轮 UIImageView *login_ent_bg=dynamic_cast(pUILayer->getWidgetByName("login_ent_bg")); CC_BREAK_IF(!login_ent_bg); login_ent_bg->setVisible(true);原创 2014-08-11 16:36:06 · 3549 阅读 · 0 评论 -
cocos2d-x2.2.3 如何读取Tiledmap地图
不解释直接上代码#include "TmxMapBasic.h"CCScene* TmxMapBasic::scene(){ CCScene* s = CCScene::create(); TmxMapBasic* layer = TmxMapBasic::create(); s->addChild(layer); return s;}bool TmxMapBasic::i原创 2014-08-19 20:07:01 · 937 阅读 · 0 评论 -
C++内存管理机制
内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权,还放弃了C翻译 2014-07-28 09:04:13 · 790 阅读 · 0 评论 -
我对多态的的理解以及重载和重写
同一种语句有多重形态,在不同的类型中,有不同的属性和表现方法;多态原理;多态的是函授指针多态的实现效果多态:同样的调用语句有多种不同的表现形态;多态实现的三个条件 有继承、有virtual重写、有父类指针(引用)指向子类对象。多态的C++实现 virtual关键字,告诉编译器这个函数要支持多态;不要根据指针类型判断如何调用;而是要根据指针所指向的实际对象原创 2014-07-22 15:01:03 · 825 阅读 · 0 评论 -
cocos2d-x碰撞检测学习笔记
OBB包围盒 OBB,全称是Oriented Bounding Box,也就是带有方向的包围盒。实际上,它和AABB盒一样,也是一个矩形,只不过它具有任意的方向。对OBB进行结构表示,有很多种方法,我在下面的Demo中是使用矩形的四个顶点来定义OBB的。 好了,我们知道了OBB的具体表现形式之后,我们就需要判断两个OBB是否相互碰撞,也就是是否有翻译 2014-07-22 15:09:50 · 1067 阅读 · 0 评论