- 博客(6)
- 收藏
- 关注
原创 c++职责链模式
1.对职责链的理解 客户端发出一个请求时,有不同的对象都可以处理这个类型的请求,但是我们不知道最终哪个对象会处理它,于是用一个链路的方式传递这个请求,直到有能处理处理这个具体的请求。 2.职责链的好处 避免了不同对象都要显示调用处理这个请求的方法,避免耦合性。只需要一个对象显示调用,它处理不了时会传递给它指向的下个对象。 c++实现简单的职责链 #include <iostream> class Handler { protected: Handler* success..
2021-12-16 14:52:43 1068
原创 c++类型转换
static_cast 只要不包含底层const,都可以使用 const_cast 去掉变量的const属性,但是不改变变量类型 int s=1; const int* p =&s; int* a = const_cast<int*>(p); *a =3; std::cout <<"a ="<<a<<",p="<<p<<",s="<<&s<<std::endl; .
2021-12-08 09:30:02 134
原创 String字符
头文件 <cctype>处理string单个字符 如何处理单个字符 1.string s; for(auto c: s) 2.s[i] /* isalnum example */ #include <stdio.h> #include <ctype.h> int main () { int i; char str[]="c3po..."; i=0; while (isalnum(str[i])) i++; printf ("The firs
2021-12-06 10:42:13 128
原创 c++引用
引用其实就是对象的别名。 形式如 int b = 5; int &a = b; 注意:引用必须被初始化。 1.为什么引用需要初始化: 因为 一般初始化是将初始值拷贝到新建的对象。而引用是与初始值对象(故不能用字面值如数字绑定)绑定。 2.指针与引用的区别: 指针本身是一个对象,可以不用初始化,可以指针赋值和拷贝; 指针可以同一时期可以先后指向不同的对象。 相同点: 可以实现对其他对象的间接访问。 int i = 3; int *p =&...
2021-12-03 09:59:45 1000
原创 C++ 初始化与赋值
初始化不是赋值 初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来替代。 建议初始化每一个内置类型的变量。 声明与定义 c++ 支持分离式编译,将程序分割成若干个文件,每个文件都可被单独编译。 为此需要将声明与定义分开,定义会申请存储空间。 一个变量只能被定义一次,但是可以被声明多次。 extern: 声明一个变量而非定义。 extern int i // 声明i extern int i = 5 // 定义 -------因为显示初始化抵消了ex.
2021-11-25 18:46:28 401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人