C++
文章平均质量分 76
Big_Mars
这个作者很懒,什么都没留下…
展开
-
关于c++类的空间分配以及存储
第一篇博文,看了关于c++类的底层存储,算是一个学习笔记吧。以下未特殊说明都指在32位机下首先需要明白,用c/c++编写,内存可以这样划分1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。 2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS原创 2017-06-04 17:40:57 · 737 阅读 · 0 评论 -
关于C/C++中的const
关于c/c++中const的用法有很多,也十分重要,下面整理一下我学习到的关于const的部分用法,讲的有错的地方请在评论区指正。1、一般对象的const 一般对象用const修饰的时候,说明这个对象一般不允许被修改。而且需要注意,const修饰变量在定义时必须被初始化(可以用表达式或者函数)。 那么有一个问题,在一个class中,如何用构造函数对const变量进行初始化,答案是原创 2017-07-17 00:30:02 · 272 阅读 · 0 评论 -
生产者消费者模型,C/C++实现(Linux)
操作系统以及Linux上都详细地介绍了信号量以及锁的概念,其重要性可想而知,这事我写的一个比较简单的多线程实现的生产者消费者模型,我会对里面用到的函数等做出比较详细的解释,以方便解读。#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <unistd.h>#include <semaphore.h>#define原创 2017-07-20 14:02:46 · 1026 阅读 · 0 评论 -
单例模式,C/C++实现
单例模式作为最常见的设计模式之一,其重要性不言而喻,就我了解到的单例模式的应用场景: 1、在《Effective C++》中说到一种情况,有在两个不同的文件中定义的两个类,A和B。现在B需要用A来初始化,但是没办法保证A在B之前被初始化。这个时候可以设计成单例模式,在初始化B的时候调用A的getsingle()。 2、在设计线程池的时候,为了防止有多个线程池出现线程混乱通常把线程池设计成单例模式原创 2017-07-17 21:20:13 · 534 阅读 · 0 评论 -
OpenGL学习笔记(一)
忽略关于环境的搭建,网上有很多相关的教程。 我不是很喜欢用VS,所以我实在codeblocks上搭建的环境,主要感觉VS太过臃肿,练习而已,不必太繁琐。下面是第一个代码,画一个简单的矩形 效果图: #include <windows.h>#include <GL/glut.h>#include <stdlib.h>void Render(void){ glClearColor(0原创 2017-12-04 17:02:04 · 658 阅读 · 0 评论 -
OpenGL学习笔记(二)
还是通过一个程序来记忆其中的知识,我很喜欢这种学习方式运行结果如图: #include <windows.h>#include <gl\glut.h>#include <gl\GLU.h>#include <gl\GL.h>#include <math.h>#include <windows.h>#include <stdio.h>#include <stdlib.h>#define原创 2017-12-07 21:28:58 · 433 阅读 · 0 评论