C++中的c_str()相关

预备知识: 1.const char *c_str(); c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。 注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针 比如:最好不要这样: char* c; string s="1234"; c = s.c_str(); //c最后...

作者: longmenyu 发布时间: 12-14

堆排序

1、 堆排序定义 n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质): (1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ ) 若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。 【例】关键字序列(10,15,56,25...

作者: lovestanford 发布时间: 12-14

c++源码高级反思(04)

C++高级部分 结构体默认情况下,其成员是共有(pubilic)的,类默认情况下,其成员是私有的,这是结构体和类的区别之一。 Visual c++中类名的风格是,所有类的名字都以大写字母C开头,以表示这个类的名字。 C++中类体被分成三类: 共有成员:以关键字public指明 私有成员:以关键字private指明 保护成员:以关键字protected指明 类的共有成员,在程序的任何位置都能够以正确...

作者: yuzhou133 发布时间: 12-12

线程函数

线程基本编程——线程函数大全 来源: ChinaUnix博客 日期: 2008.09.25 23:30 (共有0条评论) 我要评论 线程基本编程 线程基本编程 索引: 1.创建线程pthread_create 2.等待线程结束pthread_join 3.分离线程pthread_detach 4.创建线程键pthread_key_create 5.删除线程键pthread_key_delete 6.设置线程数据pthread_setspecific 7.获取线程数据pthread_getspecific 8.获取线程标...

作者: longqijun 发布时间: 12-12

Const Volatile 关键词解析

const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性. C中的CONST 问题:const变量 & 常量 为什么下面的例子在使用一个const变量来初始化数组,ANSI C的编译器会报告一个错误呢? const int n = 5; int a[n]; 这个问题讨论的是“常量”与“只读变量”的区别。常量肯定是只读的,例如5, “abc”,等,肯定是只读的,因为常...

作者: icybay 发布时间: 12-10

消息列队

#include <stdlib.h> #include <stdio.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> struct my_msg_st { long int my_msg_type; char some_text[BUFSIZ]; }; int main(void) { int running=1; int msgid; struct my_msg_st some_data; long int msg_to_receive=0; /*创建消息队列*/ m...

作者: luozhiyong131 发布时间: 12-09

关于C语言宏定义预编译的一点儿事

预编译是在每个文件编译的时候才会做的操作。 同样的宏名,可以在不同的头文件中定义不同的值。 如:在var.h中定义#define TRY 3 在macro.h中定义#define TRY 4 那么在main.c中,如果#include "var.h",那么TRY代表了3;如果#include "macro.h",那么TRY代表了4。 需要注意的是,main.c中不能同时有#include "var.h"和#include "macro.h",否则,就是重复宏定义了。

作者: nothing3618 发布时间: 12-08

(转载)不固定多餐函数的编写

如何编写无固定参数函数 2009-12-06 22:21 va_list arg_ptr:定义一个指向个数可变的参数列表指针; va_start(arg_ptr, argN):使参数列表指针arg_ptr指向函数参数列表中的第一个 可选参数,说明:argN是位于第一个可选参数之前的固定参数,(或者说,最后一 个固定参数;…之前的一个参数),函数参数列表中参数在内存中的顺序与函数声 明时的顺序是一致的。如果有一va函数...

作者: gf86530430 发布时间: 12-07

函数open

int open(const char *pathname, int flags, ...); [advanced programming in the unix environment]P.48 关于函数第二个参数对O_CREAT和O_EXCL的描述很有歧义 O_CREAT是说如果文件不存在就创建之 第三个参数mode指定访问权限 如0644(八进制) 如果文件存在就直接打开(第三个参数变成修改权限? 还是直接忽略了?) 一开始以为 O_EXCL必须和O_CREAT一起使用 否则没有作用 实际上...

作者: xixidechengbao 发布时间: 12-06

using SDL with OpenGL

#include "SDL.h"#include <QWidget>class SDLVideo : public QWidget { Q_OBJECTpublic: SDLVideo(QWidget *parent = 0, Qt::WindowFlags f = 0) : QWidget(parent, f), m_Screen(0){ setAttribute(Qt::WA_PaintOnScreen); setUpdatesEnabled(false); // Set the new video mode with the new window size char variable[64]; snprintf(variable, sizeof(variable), "SDL_W...

作者: landuochong 发布时间: 12-06