文章列表

马兴150809305C语言的指针、链表的原理和各类操作

查看详情

一、指针1、运用指针 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量。从指针指向的内存读取数据称作指针的取值。指针可以指向某些具体类型的变量地址,例如int、long和double。指针也可以是void类型、NULL指针和未初始化指针。 根...

分类: C语言&C++ 标签:

《C++ Concurrency in Action》读书笔记二 线程之间共享资源

查看详情

线程之间共享资源对于线程的安全性很重要,不正确的共享资源会导致多线程程序产生许多不可意料的bugCP31. 线程之间共享数据的问题读取数据的情况不会发生问题。如果多个线程同时需要对数据进行修改不制定相应的规则会发生奇怪的后果。书中举例了双向链表的读写删除操作时候多线程可能引发的问题。最基本的std::l...

分类: C语言&C++ 标签:

C++设计模式浅识策略模式

查看详情

策略模式定义: 定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 策略模式包含如下角色:Context:环境类Strategy:抽象策略类ConcreteStrategy: 具体策略类UML类图: 测试用例[code]int main(){ /...

分类: C语言&C++ 标签:

飞机游戏、俄罗斯方块、贪吃蛇C语言代码

查看详情

飞机游戏#include #include #include #include #define N 35void print(int []);//输出函数void movebul(int []);//子弹移动函数void movepla(int []);//敌机移动函数void setting(void...

分类: C语言&C++ 标签:

C++实现二分查找

查看详情

维基百科:二分搜索(英语:binary search),也称折半搜索(英语:half-interval search)、对数搜索(英语:logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果...

分类: C语言&C++ 标签:

C++设计模式浅识单例模式

查看详情

什么是单例模式? 保证一个类只有一个实例,并提供一个访问它的全局访问点。【DP】 让类的自身负责保存它的唯一实例,这个类保证没有其他实例可以被创建,并且此类可以提供一个访问该实例的方法。【DP】 什么时候需要单例模式? 程序只需要一个方法控制某项功能,不允许创建第二个此功能。比如:银行使用的取号机。 使...

分类: C语言&C++ 标签:

C++static关键字

查看详情

在C++中,static关键字有以下用法:静态局部变量静态全局变量静态函数类的静态成员变量类的静态成员函数以下对每种用法依次解释: 1.静态局部变量 a.静态局部变量在函数内定义,它的生存期为整个源程序,但是其作用域仍与普通变量相同,只能在定义该变量的函数内使用,退出该函数后,尽管该变量还继续存在,但不...

分类: C语言&C++ 标签:

C++设计模式浅识简单工厂模式

查看详情

简单工厂定义: 实现一个工厂函数对其他操作类选择性的调用,实现用户的实际需求。 将需要的功能分成多个组件,可以减少代码的耦合性,提高代码复用。在以后对某个功能改需求时,只需局部修改,不至于牵一发而动全身,大大提高效率。 面向对象的设计思想是通过封装、继承、多态把程序的耦合度降低,而设计...

分类: C语言&C++ 标签:

《C++ Concurrency in Action》读书笔记一 多线程与线程管理

查看详情

简介,c++11 中STL标准加入了对多线程的支持。现在可以直接使用STL::thread来创建线程并且对线程进行管理Cp1.通过一个hello world的例子引入C++11 中多线程的支持#include #include void hello() { std::cout...

分类: C语言&C++ 标签:

将一个字符串转换为整数1

查看详情

最初看这道题时,产生了一个疑问:将所有字符转换为整数后相加还是转换字符串中的数字字符。如果只转换数字字符,什么格式的数字字符合法?因为只给了一句:将一个字符串转换为整数,所以才会有这些疑问,权当思考一下。 在此给出题目的具体描述: 将一个字符串转换为整数,字符串中可能包含其他字符,但仅对字符...

分类: C语言&C++ 标签:

求单向链表中的倒数第K个节点2

查看详情

题目描述: 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如一个链表有6个节点,从头节点开始他们的值依次是1、2、3、4、5、6.这个链表的倒数第3个节点值为4. 解题思路: 主要思路是借助两个迭代器指向的位置,确定倒数第k...

分类: C语言&C++ 标签:

declval

查看详情

declval实现:#include using namespace std; template typename add_rvalue_reference::type declval();declval 通常被用在一些表达式中配合c++11的新关键字decltype推导关系。在实现代码中我注意以下...

分类: C语言&C++ 标签:

预处理器

查看详情

进行C语言的开发,在进行调试之前有一个预处理过程, 预处理对代码进行一些文本性质的操作,如:删除注释,插入被#include的内容,定义和替换由#define的内容。1.预定义符号:FILE : 进行编译的原文件名 LINE : 文件当前的行号 DATE :文件被编译的日期 TIME :文件被编译的时间...

分类: C语言&C++ 标签:

C语言中#define用法总结

查看详情

1.简单的宏定义#define 标识符 替换列表(替换列表可以是数,字符串字面量,标点符号,运算符,标识符,关键字,字符常量。注意:替换列表是可以为空的)典型错误:#define N = 100int a; /*这样会成为int a[= 100],这里会处理成为一种标识记号一样*/ #define N...

分类: C语言&C++ 标签:

发现一个c++ vector sort的bug

查看详情

在开发中遇到一个非常诡异的问题:我用vector存储了一组数据,然后调用sort方法,利用自定义的排序函数进行排序,但是一直都会段错误,在排序函数中打印参加排序的值,发现有空值,而且每次都跟同一个数据排序,非常诡异。数据本身没有问题,换一组数据,甚至是在不能排序的那组数据中增删一些数据,sort又正常了...

分类: C语言&C++ 标签:

基于C语言的状态机实现技术

查看详情

一、简介有限状态机是一种用来进行对象行为建模的工具,其作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件。有限状态机(Finite State Machine或者Finite State Automata)是软件领域中一种重要的工具,很多东西的模型实际上就是有限状态机。有...

分类: C语言&C++ 标签:

FZU 2086 Redcarnation

查看详情

Description Jack最近喜欢到学校餐厅吃饭,好吃干净还便宜。在学校餐厅,有a种汤,b种饭,c种面条,d种荤菜,e种素菜。为了保证膳食搭配,Jack每顿饭都会点1~2样荤菜,1~2样素菜(不重复)。同时,在Jack心情好的时候,会点一样饭,再配上一种汤。在心情不好的时候,就只吃一种面条。因为...

分类: C语言&C++ 标签:

C语言深度解剖读书笔记(2.字符的技巧)

查看详情

本节接触了,C语言中的三大蛋疼:符号优先级 ++i顺序点 贪心法 (其实这里面好多都是跟编译器有关的,而且有好多问题都是可以通过良好的编程习惯避免的)本节知识点:1.注释问题: 注释不能把关键字弄断,如:in/*注释*/t 注释不是简单的剔除,而是使用空格替换 编译器认为双引号括...

分类: C语言&C++ 标签:

C语言深度解剖读书笔记(1.关键字的秘密)

查看详情

开始本节学习笔记之前,先说几句题外话。其实对于C语言深度解剖这本书来说,看完了有一段时间了,一直没有时间来写这篇博客。正巧还刚刚看完了国嵌唐老师的C语言视频,觉得两者是异曲同工,所以就把两者一起记录下来。等更新完这七章的学习笔记,再打算粗略的看看剩下的一些C语言的书籍。本节知识:1.c语言中一共有32个...

分类: C语言&C++ 标签:

C语言深度解剖读书笔记

查看详情

开始本节学习笔记之前,先说几句题外话。其实对于C语言深度解剖这本书来说,看完了有一段时间了,一直没有时间来写这篇博客。正巧还刚刚看完了国嵌唐老师的C语言视频,觉得两者是异曲同工,所以就把两者一起记录下来。等更新完这七章的学习笔记,再打算粗略的看看剩下的一些C语言的书籍。本节知识:1.c语言中一共有32个...

分类: C语言&C++ 标签:
共 1211 条记录 1... 3940414243444546474849