c++和c语言
勤奋的伙计
这个作者很懒,什么都没留下…
展开
-
pthread_create()给创建的线程传递参数
对于pthread_create为创建线程传递参数的问题,先前只知道传递单个参数的方法,现在需要传递多个参数。 对于新手的我比较纠结,因此,上网查找资料,发现CU里面的一个帖子(帖子地址后面给出)。 下面把帖子中认为对自己有用的知识摘录下来,以后经常看看。 帖子内容: 1、传递int、short转载 2014-09-04 09:45:20 · 6531 阅读 · 0 评论 -
C++RTTI强制转型
C 风格(C-style)强制转型如下:(T) expression 或T(expression) //函数风格(Function-style)两种形式之间没有本质上的不同。对于具有转换的简单类型而言C 风格转型工作得很好。然而,这样的转换符也能不分皂白地应用于类(class)和类的指针。ANSI-C++标准定义了四个新的转换符:reinterpret_cast, stati转载 2015-08-20 19:55:10 · 427 阅读 · 0 评论 -
C语言 C++相互调用问题
1. C++调用C语言函数C语言头文件 c_header.h#ifndef __C_HEADER_H_#define __C_HEADER_H_#ifdef __cplusplusextern "C"{#endifint c_add(int a, int b); void c_print_data(int x);#ifdef __cplusplus}#end原创 2015-07-29 17:23:40 · 1009 阅读 · 0 评论 -
不使用while,for,if等实现加法
不使用if, while,for,switch等实现从1到10的加法解:这里使用静态函数和静态变量实现,利用类似的方法也可以实现从1打印到1000class TheSum{public: TheSum(); static int GetSum();private: static int N; static int sum;};int TheSum::N=0;int Th原创 2015-07-22 09:26:56 · 776 阅读 · 0 评论 -
C++继承与多态问题
总结:主要将虚函数,重载,多态问题:http://www.cnblogs.com/kunhu/p/3631285.html原创 2015-07-22 10:02:12 · 430 阅读 · 0 评论 -
C语言知识总结
以下程序的输出结果#include void main(){ char * ptr="hello"; char str[]="hello"; printf("sizeof(pts) is %d\n", sizeof(ptr));//这里输出指针的大小 printf("sizeof(str) is %d\n", sizeof(str));//这里输出整个st原创 2015-06-29 09:07:06 · 665 阅读 · 0 评论 -
C++中STL容器类型做函数不使用引用导致程序效率下降
最近刷算法题,发现一个问题:我是用递归实现一个算法,但在函数TreeNode * createTree(vector &num, int left, int right)一开始使用了TreeNode * createTree(vector num, int left, int right),结果总是超时,在网上找了一些别人写的算法,发现都是那样实现的,最后发现了是函数的参数类型不同,原创 2015-05-02 11:23:54 · 1009 阅读 · 0 评论 -
linux下使用C或C++实现进程管理代码
一、前言:要在程序中启动某一程序,如果程序已经存在了,就不再启动。查找了N篇文档,有所收获,总结一下。二、实现大体分两种:1、exec或popen执行ps的命令行,然后运用某几个字符串匹配函数。#include #include #include string.h>#include int main(){ FILE *pstr; char cm转载 2014-12-14 10:05:20 · 2002 阅读 · 0 评论 -
visual studio 2008使用遇到的错误
1. 包含头文件时遇到的错误:在cpp文件中使用#include原创 2014-10-20 14:46:42 · 400 阅读 · 0 评论 -
使用PostThreadMessage在Win32线程间传递消息
PostThreadMessage的原型是这样的BOOL PostThreadMessage( DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam);PostThreadMessage可以用于线程之间的异步通讯,因为它不用等待调用者返回,这也许是线程通讯中最简单的一种方法了。但是转载 2014-10-19 12:14:32 · 529 阅读 · 0 评论 -
C++使用pthread_create()
今天在进行多线程编程的时候遇到了一个编译问题:error: argument of type ‘void (PIAMW::Communicator::)()’ does not match ‘void* (*)(void*)’后来发现将线程处理函数声明为static类型,问题得解。 其实这个原因很简单,当把线程函数封装在类中,this指针会作为默认的参数被传进函数中,从而和线程转载 2014-11-04 13:01:26 · 4605 阅读 · 0 评论 -
C语言中书写多语句宏的最好方法
通常的目标是书写一个象包含一个单独的函数调用语句的宏。这意味着“调用者” 需要提供最终的分号, 而宏体则不需要。因此宏体不能为简单的括弧包围的复合语句, 因为如果这样, 调用的时候就会发生语法错(明显是一个单独语句, 但却多了一个额外的分号), 就像在if/else 语句的if 分支中多了一个else 分句一样。 所以, 传统的结局方案就是这样使用:原创 2014-10-14 10:49:37 · 985 阅读 · 0 评论 -
关于rand使用及随机数再现问题
下面shi#include #include #include #include #include int main(){ int ran[10]; int k; int ret; FILE * fd; time_t time_me; char buff[20]; unsigned long原创 2014-09-27 21:11:00 · 583 阅读 · 0 评论 -
C和C++中如何互相调用(#ifdef __cplusplus)
本文引用自:http://colding.bokee.com/6416780.htmlc.h的实现#ifndef _c_h_#define _c_h_#ifdef __cplusplusextern "C" {#endif void C_fun(); #ifdef __cplusplus}#endif转载 2014-09-04 09:14:27 · 1105 阅读 · 0 评论 -
extern "C"使用
#ifdef__cplusplus是什么意思?时常在cpp的代码之中看到这样的代码:#ifdef__cplusplusextern"C"{#endif//一段代码#ifdef__cplusplus}#endif这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这转载 2014-09-04 09:05:19 · 529 阅读 · 0 评论 -
C++中extern “C”含义深层探索
(转)C++中extern “C”含义深层探索 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计转载 2014-09-02 20:27:23 · 322 阅读 · 0 评论 -
简答实用的宏的写法
本篇文章主要实现打印参数的传递,这里定义了一个宏。#define debug_printf(format, ...){\ printf("%s,%d: " format "", __func__, __LINE__, ##__VA_ARGS__);\}原创 2019-01-17 16:36:39 · 240 阅读 · 0 评论