[C++]将标准IO库应用于套接字
最近在写一个网络程序,需要将字符串一行一行地写入套接字,再一行一行地从套接字读取出来。由于没有现成的函数来以行的方式来操作套接字,只能自己编写这样的函数了。忽然想到C++ 标准的IO库可以非常方便地操作输入输出流,不知道能不能将其扩展,应用到套接字上呢?回答是肯定的,标准库本身就是一个可方便扩展的库...
【原】C++ 11 tuple & 可变参数模板
C++ 11中引入的tuple是一个N元组。它相当于有N个成员的结构体,只不过这个结构体的成员都是匿名的。tuple中有两个特殊的函数,一个是head(),用于获取第一个成员的值,另一个是tail(),用于获取剩下所有成员的值,tail()本身又是一个tuple。这样,如果我们想取tuple中第二个...
struct 结构体解析(原)
(一)基本概念 结构体是一个或是多个变量的集合,这些变量可能为不同的类型,为了处理的方便而将这些变量组合在一个名字之下。我们将关键字struct引入了结构声明中。结构声明包含在花括号内的一系列声明组成。例如: // 以下是一个巨普通的结构体,表示坐标。 // point 为结构标记;x, y为成员。...
void和void指针解析(原)
(一)基本概念 void 类型:空类型,用于特殊目的的没有操作,也没有值的类型。不能被显式或隐式的转换为任意非空类型,可以通过强制类型转换为void类型。 void指针:指向任何对象的指针都可以转换为void*类型指针,且不会丢失信息。在ANSI C使用类型void*代替char*作为通用指针的类型...
COM新手使用中一个易混淆的问题
CSDN贴地址:http://blog.csdn.net/noslopforever/article/details/7278355其实也没什么,[don box]里面也提过这个问题,但是没有继续展开。比如依照图形系统而言,一般封装时,接口可能会这么来设计:interface IRenderObje...
chromium中求定长数组个数的写法
最近在chromium的代码里面发现了一个有意思的求写法数组个数的写法template <typename T, size_t N>char (&ArraySizeHelper(T (&array)[N]))[N];#define arraysize(array) (si...
C++遍历文件夹,使用boost filesystem递归遍历文件夹
编译环境vc 9#ifndef SCANALLFILES_H#define SCANALLFILES_H#include "boost/filesystem/operations.hpp"#include "boost/filesystem/path.hpp"...
MFC中的问题记录 2012-2-20
模态窗体的实现 bool CWindowWnd::ShowModal(){ ASSERT(::IsWindow(m_hWnd)); HWND hWndParent = GetWindowOwner(m_hWnd); ::ShowWindow(m_hWnd, SW_SHOWNORMAL); ::Ena...
【原】C++ 11语法甜点
C++ 11中引入了许多简化编程工作的语法上的新特性,我们暂且美其名曰“语法甜点”。下面一一进行介绍。 语法甜点1:序列for循环 序列for循环是一种简化的for循环,可用于遍历一组序列,包括各种容器、string、数组、初始化列表以及由begin和end函数定义的序列...
关于Condition Variable为什么需要一个Mutex的思考
我们都知道如何使用一个condition variable:1、Linux下:1 pthread_mutex_lock(&mutex);2 pthread_cond_wait(&cond, &mutex);3 doSomething();4 pthread_mutex_unl...
TOJ 2010 Sum of Consecutive Prime Numbers 解题报告
http://acm.tju.edu.cn/toj/showp2010.html水题,暴力Run IDSubmit TimeJudge StatusProb.Lang.CodeTimeMemoryUser11671152012-02-18 20:02:42Accepted2010C++0.8K0...
TOJ 1144 Tree Recovery 解题报告
http://acm.tju.edu.cn/toj/showp1144.html二叉树,给出前序遍历和中序遍历,输出后序遍历。Run IDSubmit TimeJudge StatusProb.Lang.CodeTimeMemoryUser11670842012-02-18 17:24:33Acce...
c++ 自定义排序函数的 map
c++ 自定义排序函数的 mapbcbstruct datekey{ unsigned __int64 i; String s; bool operator < (datekey const& _A) const { //这个函数指定排序策略,按nID排序,如果nID相等的话,按str...
如何养成良好的 C++ 编程习惯(一)—— 内存管理
“养成良好的编程习惯”其实是相当综合的一个命题,可以从多个角度、维度和层次进行论述和评判。如代码的风格、效率和可读性;模块设计的灵活性、可扩展性和耦合度等等。要试图把所有方面都阐述清楚必须花很多的精力,而且也不一定能阐述得全面。因此,本系列文章以软件开发的基础问题为切入点,阐述程序设计和代码编写方面...
迷你日志类Minilog
这个也发表在我另一个BLOG:http://imlgc.com/?p=51,这个是发在博客园的。 简介 日志,在一般系统里是非常非常重要的,它不仅跟踪到程序的执行,同时也是对系统进行各方面分析的基础。其重要性在这里不再一一说明,有兴趣可自行GOOGLE之。 日志的实现可以很复杂,功能强大的如java...
C++中getline()读取不换行的问题
1 #include "stdafx.h" 2 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 7 class student 8 { 9 public: 10 void...


