自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 台大机器学习基石作业编程题

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-08-05 17:09:08 808

原创 c++11 多线程 二 锁和互斥量

Locksmutex(互斥量)是 核心同步原语(原语:OS术语,由若干指令组成,用于完成一定功能的一个过程)。在头文件中有四种不同形式的的互斥量:•mutex:提供核心方法lock() unlock() 无阻塞 try_lock()(返回互斥量是否无法使用)•recursive_mutex:允许同一线程多次获得互斥量•timed_mutex:和mutex一样,但比它多两

2015-12-01 16:49:00 639

原创 C++11 多线程 一

本周决定 搞定c++11 多线程Threadsstd::thread 在头文件,可以配合常规函数,匿名函数(lambdas),仿函数使用,并支持传递任意类型和个数参数传递给绑定的线程函数#include "stdafx.h"#include #include #include void func(int n1, int n2, std::string str)

2015-11-30 13:34:39 602

原创 代码整洁之道

代码整洁之道本书写作目的及阅读对象:想成为更好的程序员第一章  整洁代码1.代码将永存——明确需求细节,直到机器可以执行,就是编程2.糟糕代码毁掉公司3.混乱代码难维护,为以后发展留下隐患4.简洁代码:1)能通过所有测试2)没有重复代码3)体现系统中的全部设计理念4)包括尽量少的实体,比如类、方法、函数等重要的两点:消除重复代码和提高表达

2015-11-26 16:11:47 452

原创 C++11 智能指针 unique_ptr shared_ptr weak_ptr

智能指针智能指针是基于RAII机制实现的类(模板),具有指针的行为(重载了operator*与operator->操作符),可以“智能”地销毁其所指对象。C++11中有unique_ptr、shared_ptr与weak_ptr等智能指针,可以对动态资源进行管理。智能指针是类而不是指针shared_ptrshared_ptr是一种引用计数指针,没有任何其它的shared_ptr

2015-11-26 13:59:51 1483

原创 C++内存管理

C++内存管理本篇为笔记 一  基础部分  1.c++内存分为5个区:栈,堆,自由存储区(与堆类似,用malloc分配,free释放)全局/静态存储区,常量存储区堆与栈:       1、管理方式不同;  2、空间大小不同;  3、能否产生碎片不同;  4、生长方向不同;  5、分配方式不同;  6、分配效率不同;  管理方式:对于栈

2015-11-25 15:42:57 1431

原创 wsprintf和swprintf

wsprintf是windows API不支持浮点数swprintf是C库函数 支持浮点数

2015-11-04 15:28:47 455

原创 handle与handler的区别

handle既是名词也是动词,而handler只是个名词。在计算机编程术语里handle作为名词时是对可进行管理的资源对象的抽象,handle指向某个类别的资源对象,如文件句柄,进程ID都可以用handle来表达,在当动词讲时含义是处理和操作。而handler表示的是过程(函数),理解为功能处理器的含义,如常用的回调函数可以用handler来表示。

2015-11-02 17:22:11 4825

转载 Windows核心编程:内核对象

作者:shenzi链接:http://hi.youkuaiyun.com/shenziWindows核心编程:内核对象 1.对象和句柄    对象是静态定义的对象类型的单个运行时实例。对象类型包括系统定义的数据类型,在数据类型实例上的操作的函数以及一组对象属性集。    对象为完成下列四种重要的操作系统任务提供了方便的方法:为系统资源提供可读的名字;在进程间共享

2015-11-02 16:13:48 631

转载 临界区的实现与原理

临界区概述:用于多线程的互斥访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入临界区后,其他试图访问的线程将被挂起,直到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到对临界区的互斥访问。(临界区中一般都是一个简短的代码段)在WINDOWS中,临界区是一种应用层的同步对象,非内核对象。并且临界区优先采用自旋的方式进行抢占临界区API:

2015-11-02 15:31:30 1987

转载 c++多线程 二

引言C++11 是 2011 年 9 月 1 号发布的。C++11 在 C++03 的基础上做了大量的改进,引入了很多新的特性,比如 Lambda 表达式,右值引用,统一的列表初始化方式,正则表达式等等。当然,其中最令人激动的特性是新标准引入了原子操作类和线程支持库。C++ 一直在语言层面缺少对多线程的支持,因此 C++11 新标准基本上弥补了这一缺陷。可以毫不夸张地说,C++11 相当于

2015-10-30 14:12:10 551

转载 c/c++ 回调函数

回调一般是指一个模块中提供一个过程,通过另一个模块的API进行注册,然后由后者负责调用。简言之,前者负责提供函数或子过程,后者负责调用。举两个最常见最简单的例子:1。Windows的计时器机制:应用程序的开发者编写一个函数,用来完成一件事情,然后通过Windows系统的API:SetTimer注册到系统中,于是每当用户设置的时间间隔到来时,前面说的那个函数就被系统自动调用执行。这个函数就是

2015-10-29 15:58:02 1283

原创 Effective C++ Item3

只要可能就用const1.const 指针T* const p   p 是const *p非const   p = p++ //ok *p = xx //errorconst T* p   p非const  *p是const  p = p++ //error    *p=xx //ok注意:这两种类型作为函数参数传递没有区别2.const 成员函数返回类型为const 引用

2015-09-06 14:25:59 409

原创 Effective C++ Item2

用const enum inlines 取代 #define这个 Item改名为“用 compiler(编译器)取代 preprocessor(预处理器)”也许更好一些,因为#define根本就没有被看作是语言本身的一部分1)常量2)函数  参数自增情况下,#define会出问题#define  适用情况1)需要特定的宏定义满足编译选项需求2

2015-08-31 17:23:11 361

原创 Effective C++ Item1

1.视C++为语言联合体1)C部分  blocks(模块) statements(语句) preprocessor(预处理器) built-in data types(内建数据类型) arrays(数组) pointers(指针)   预处理器是干什么的呢 预处理器C/C++预处理器什么都不会做,只是做宏替换和文本替换。C/C++预处理是不会做任何语法检查的,不仅是因为它不具备语法检查

2015-08-31 16:52:09 341

原创 TCP/IP协议第一章阅读笔记

1.TCO/IP起源 6 0年代末美国政府资助的一个分组交换网络研究项目,到 9 0年代已发展成为计算机之间最常应用的组网形式。2.TCP/IP分层网络协议通常分不同层次进行开发,TCP/IP通常被认为是一个四层协议系统:                                                                             

2015-08-31 14:21:06 434

太阳系(D3D)

太阳系,八大行星 光照 光晕 字体 是学习D3D基础不错的demo

2012-12-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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