Mythsman


乐极生悲,苦尽甘来。


标签: C/C++


  1. C++11学习笔记3

    右值引用分类在古老的标准里,C++中的变量分为左值(lvalue)与右值(rvalue)这两种,左值就是能够用&获得地址的值,可以对他进行修改,右值就是不能用&获得地址的值,通常只是临时变量,不能进行修改。而在C++11中,变量不再仅仅分为左值与右值了,他引入了另一种值叫将亡值(expire value,xvalue)。从此,变量类型分为了三种: lvalue  :left value 就是传统意义上的左值xvalue  :expire value 就是将亡值prvalue :p…

    C/C++阅读全文

  2. C++11学习笔记2

    std::function std::bind我们知道在C里面有函数指针这么回事,我们用函数指针的目的就是将仿函数作为参数,传递给另外一个函数,并供他调用。但是显然,函数指针那种写法还是相当恶心的,比如: #include<iostream> int callback(int x){ std::cout<<x<<std::endl; } int func(int(*f)(int)){ f(3); } int main(){ func(c…

    C/C++阅读全文

  3. C++11学习笔记1

    前言很久以前就知道C++11对我们课上讲的C++有很多改进的地方,当时也没有细学,最近一个偶然的机会陡然发现原来身边的同学好多都对C++11都颇有心得,推崇备至,回头想想在C++14,甚至C++17都不新鲜的现在,连C++11都不会的话显然有点说不过去了。。。于是呢我就打算利用最近闲着的时间,在补《人民的名义》的间隙顺便学学C++11应该也是极好的。 类型推导auto关键字目的auto关键字不是C++11里诞生的关键字,在这之前,auto代表的意思是“具有全局存储期的局部变量”,限定的是变量的作…

    C/C++阅读全文

  4. 网易2017春招笔试真题编程题集合题解

    前言想想已经有一年多没有接触算法题了,忙活了一年多没什么用的东西,才陡然发现自己竟然就要毕业了,然而审视了下自己的水平估计还达不到大一的程度,甚是惊恐。于是下定决心开始刷一点题,打好基本功。正好有同学在做网易笔试题的时候来向我问问题,我看了看有12道,好像也不多,于是就顺便刷了刷。本以为会是一帆风顺的,可是事实是,我果然还是太菜了。。。 双核处理题目一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理…

    Algorithm, C/C++, MathJax阅读全文

  5. Makefile常用模板

    写Makefile大概是每一个合格的C/C++程序员的基本功吧,几乎所有C语言写的开源项目都会用Makefile或者类似的Cmake来组织和编译,可见这个是有多重要。不过说白了,Makefile其实下面就简单记录下Makefile的常用模板,并且附带了自己总结的注意点方便以后查找使用。下面这两个模板是用来搞guisan的。 简单项目模板简单小程序的makefile,一般情况下编译少量的、不分头文件的项目的话用下面的模板就够用了: CC =g++ INCLUDE =-I../includ…

    C/C++, Makefile阅读全文

  6. SDL2的GUISAN库简介

    简介GUISAN是一个基于SDL2的开源的GUI控件库,原本是为了一个叫GUICHAN的小游戏而编写的框架。虽然和Qt、C#中的GUI控件没法比,但是他更加简单,可以更好的通过他的代码来进行框架的研究学习。 源码官方的版本托管在kallisti5的github上,不过由于它是用Sconscript来编译的,对于大多数人来说不是很习惯,因此我把他用makefile重新编译了一遍,把静态库独立出来方便以后的使用,同时顺便删掉了一些文件,并且用doxygen生成了一个文档方便学习。 我把修改后的版本放…

    C/C++, SDL, GUISAN阅读全文

  7. Doxygen工具简单使用

    简述Doxygen是一款非常方便的文档生成工具,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java等语言,据说也支持python等。用他不仅可以根据注释生成文档,而且还能利用graphviz工具生成类图以及类中的函数调用关系,并且支持html、latex、rtf等格式的输出。 安装有apt支持,直接$sudo apt install doxygen即可。 编写注释即使不是刻意采用doxygen工具的标准语法,我们也是可以用doxygen生成文档的,只是他提供的信息可能不是很完整…

    Tools, C/C++, Doxygen阅读全文

  8. Linux-C简单多线程编程分析

    我们都知道多线程可以提高程序运行的速度,但是至于能够提高多少却一直没有一个直观的印象,下面就用Linux C的多线程编程技术,简要分析下多线程的运行效率。 测试代码下面就用1000*1000的矩阵之间的乘法来做一个实验,我们分别用单线程和多线程分别实现,算法都采用$O(n^3)$的朴素算法。测试代码如下: #include <stdio.h> #include <pthread.h> #include <stdlib.h> #include <sys/t…

    C/C++, Multi Thread, MathJax阅读全文

  9. SDL2安装指南

    SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。下面主要介绍一下在Windows下搭建SDL2开发环境的过程。 下载下载自SDL官网,在Development Libraries中选择相应的版本。我这里选择的是W…

    C/C++, SDL阅读全文

  10. Julia集的win32+GDI演示

    虽然不是第一次win32来写窗口程序,但是最近python和java用惯了,还真用不惯win api繁琐的调用方法,光是一个模版就好难理解。 事实上,那些模版的玩意写上去就好了,我们只要在他的消息循环的处理里添加绘图的函数即可。 至于绘图,我用的是GDI库最简单的用法,不加缓冲直接逐像素点打印。效率很低,而且会出现刷屏的现象。正确的做法应该是在内存中创建一张Image,向这个里面写再一次性输出。(这样弄效率高但是在网上找了半天没找到傻瓜式的代码模版。。。) 代码#include <wind…

    Computer Vision, C/C++, Julia阅读全文