jyh的博客

脚踏实地

智能指针

智能指针是行为类似于指针的类对象。 为什么需要智能指针?  为了避免当系统异常退出的时候避免资源泄漏(内存) 创建指向str的指针ps。有一个问题。如果函数异常终止,则本地变量将从栈内存中删除——因此ps占据的内存将被释放,如果ps指向的内存也被释放了,则就不需要后面的智能指针了。 或者如果...

2018-08-14 11:08:30

阅读数:24

评论数:0

C语言str.......函数系列

1、strcat()此函数原型为 char *strcat(char *dest, const char *src).功能为连接两个字符串,把src连接到dest后面;返回dest地址实现如下char * strcat(char *dest,const char *src){ char* addr...

2018-07-07 22:28:11

阅读数:13

评论数:0

C++笔试题整理

参考自: https://blog.csdn.net/dongfengsun/article/details/15419261.已知String类定义如下:class String{public:String(const char *str = NULL); // 通用构造函数String(con...

2018-06-29 17:51:15

阅读数:21

评论数:0

C++中如何修改const变量

一、结论声明:不同于C语言的const变量修改问题(可以通过指针间接修改const变量的值),这里只讨论C++ 里的const。C++ const 修饰符,表示常量,即如果以后保证不会修改则声明为const,否则若要修改,那一开始为什么还要声明为const呢?根据C++标准,对于修改const变量...

2018-06-29 17:46:50

阅读数:535

评论数:0

*p++、(*p)++、*(p++)

运行程序测验一下:*p++与*(p++)#include<iostream> using namespace std; int main() { //测试*p++ int a[5] = {1,100,200,300}; int *p=a; *p...

2018-06-28 22:59:25

阅读数:914

评论数:0

结构体大小、内存对齐方式、联合

各编译器下sizeof()值: 32位编译器: 32位系统下指针占用4字节 char :1个字节 char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) short int : 2个字节 int: 4个字节 unsigned int ...

2018-06-28 21:05:32

阅读数:14

评论数:0

二级指针

转自:https://blog.csdn.net/liaoxinmeng/article/details/5811097后面自己加了例题验证指针是C语言的灵魂,我想对于一级指针大家应该都很熟悉,也经常用到:比如说对于字符串的处理,函数参数的“值,结果传递”等,对于二级指针或者多级指针,我想理解起来...

2018-06-28 15:39:11

阅读数:26

评论数:0

c++符号优先级以及理解方法 -----转自leukotrichia的博客

C++操作符的优先级操作符及其结合性功能用法L L L:: :: ::全局作用域  类作用域  名字空间作用域::name class::name namespace::nameL L L L L . -> [] () () 成员选择  成员选择  下标  函数调用  类型构...

2018-06-27 10:26:06

阅读数:19

评论数:0

强制类型转换(int)、(int&)和(int*)的区别

我们先来看两行代码:[cpp] view plain copyfloat x=1.75,y=1.75;  cout<<(int)x<<" "<&...

2018-05-29 15:55:20

阅读数:484

评论数:0

sizeof与strlen的区别

char str[20]="0123456789"; int   a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。 int   b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组s...

2018-05-29 15:55:06

阅读数:22

评论数:0

C/C++中volatile的用法

代码编译环境:Windows7 32bits+VS2012。volatile是“易变的”、“不稳定”的意思。volatile是C/C++的一个较为少用的关键字,它用来解决变量在“共享”环境下容易出现的读取错误的问题。1.volatile的作用定义为volatile的变量是说这变量可能会被意想不到地...

2018-05-23 10:48:34

阅读数:46

评论数:0

C++primer plus第16章练习题答案

1、   #include<iostream> #include<string> bool huiwen(const std::string &s); int main() { u...

2018-04-03 19:55:17

阅读数:37

评论数:0

C++primer plus 第十四章习题答案

习题一:Wine.h#ifndef WINE_H_ #define WINE_H_ #include<string> #include<valarray> using namespace std; templ...

2018-03-30 10:27:14

阅读数:30

评论数:0

C++中explicit构造函数

按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象 (只有接受一个参数的构造函数才能作为转换函数,然而如果第二个参数提供默认值也可以),如下面所示: class String { String ( const char* p ); // 用...

2018-01-27 16:12:54

阅读数:26

评论数:0

C++中产生随机数(rand,srand用法)

我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递推公式推算出来的一系列数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破...

2018-01-27 15:56:35

阅读数:51

评论数:0

友元函数与成员函数的一点区别

例如,在友元函数中,无法直接操作成员变量。必须要现有一个类的对象,再通过这个对象使用圆点操作符 class   class A { pubic:  classA(); private: int x; } //此处使用了传引用调用,传递一个类的对象进来,并且可以直接更改里面的值 void   f...

2018-01-27 15:53:46

阅读数:113

评论数:0

函数返回值和返回引用的 区别

函数返回值时会产生一个临时变量作为函数返回值的副本,而返回引用时不会产生值的副本,既然是引用,那引用谁呢?这个问题必须清楚,否则将无法理解返回引用到底是个什么概念。以下是几种引用情况: 1,引用函数的参数,当然该参数(s1、s2)也是一个引用    const string &shor...

2018-01-27 15:50:50

阅读数:616

评论数:0

FIFO、LRU、LFU的含义和原理

转自:点击打开链接 含义: FIFO:First In First Out,先进先出 LRU:Least Recently Used,最近最少使用 LFU:Least Frequently Used,最不经常使用 以上三者都是缓存过期策略。 ...

2018-01-19 20:39:10

阅读数:42

评论数:0

C++中左值与右值

让我们先看看一些常见的左值和右值举例: int var = 6;          // var is a lvalue const int var = 6;    // var is a (nonmodifiable) lvalue char s...

2017-12-28 16:59:20

阅读数:24

评论数:0

C语言中 malloc函数用法

http://blog.sina.com.cn/s/blog_9444ed240102vc0z.html 函数声明(函数原型): void *malloc(int size); 说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。vo...

2017-12-28 10:42:01

阅读数:134

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭