//=============threadpool.c========== #include "threadpool.h"#include <stdio.h> pthread_mutex_t ThreadPool::mutex = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t ThreadPool::cond = PTHREAD_COND_INITIALIZER; std::vector<Task*> ThreadPool::tasks;ThreadPool::ThreadPool(int threads) {this->threads = threads;this->shutdown = false;this->counter = 0;this->idle = 0; }void* ThreadPool::process(void *arg) {str...
本文是GeekBand课程体系中,侯捷老师讲课内容的部分内容总结。参考书籍如下:Effitive C++ C++ Primer 第五版 http://blog.csdn.net/lwbeyond/article/details/6202256 中的部分图片一定义:C++ 三大函数构造函数:如 : String(const char* cstr = 0);拷贝构造函数 如 :String(const String& str);拷贝赋值函数 如 :String& operator=(const String& str);析构函数:如 :~String(); 其中...
八、继承:让某个类的对象获得另一个类的对象的特性。通过继承可实现代码重用,即从已存在的类派生出的一个新类将自动具有原来那个类的特性。 类的继承还具有:(1)单向性;A类为B类的基类(父类),则派生类(子类)B继承了父类A中的属性和方法,在B类中可访问A类的属性和方法,但在父类A中则不能访问子类的任何属性和方法。同时单向又体现为子类B继承了父类A,则A类不能再继承B类。(2)传递性;A类为B类的基类,B类为C类的基类...
还是那句话,我们继续在简单的代码中,体会学习C++,本节主要是体会学习类的进阶知识.一.构造函数与析构函数 当创建一个对象时,往往需要做一些初始化工作,例如对数据成员赋值等。为了解决这个问题,C++提供了构造函数。 构造函数(Constructor)是一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户调用(用户也不能调用),而是在创建对象时自动执行。构造函数的作用是在创建对象时进行初始化工作,最常见的就...
#include <iostream>usingnamespace std;int jumpFloor(int number) {//递归//if(number<0)return 0;//if(number==0)return 1;//if(number==1)return 1;//else return (jumpFloor(number-1) + jumpFloor(number-2));//循坏int way=1;int pre_way=1;if(number<0)way=0;if(number==0)way=1;if(number==1)way=1;while(number>=2){int temp=way;way += pre_way;pre_way = temp;number--;}return way; }int Fibonacci(int n) {//递归//i...
一、类 1.类是一种数据类型,将数据与对数据的操作(函数)放到一起。一个类中的数据通常只能通过本类提供的方法进行处理,这些方法成为该类与外部的接口,对象之间通过消息进行通讯。 2.如果在类的起始点无访问说明符,系统默认为私有(private) 3.类是一种数据类型,定义时系统不为类分配存储空间,所以不能对类的数据成员进行初始化。类中的任何数据成员也不能使用关键字extern,auto,register等关键字限定其存储类型 ...
前面已经学习了变量和常量,我们可以开始对它们进行操作,这就要用到C++的操作符。有些语言,很多操作符都是一些关键字, 比如add, equals等等。C++的操作符主要是由符号组成的。这些符号不在字母表中,但是在所有键盘上都可以找到。这个特点使得C++程序更简洁,也更国际化。运算符是C++语言的基础,所以非常重要。 你不需要背下所有这一小节的内容,这些细节知识仅供你以后需要时参考 。赋值Assignation (=) 赋值运算符的功能...
把在C语言学习过程的知识记录下来,积少成多。1、各种特殊字符\n 换行 ;\r 输出指针移到当前位置 ;\b 去掉一个前面的字符 ;\t 制表对齐 ;\f 换页符原文:http://blog.csdn.net/scboyhj__/article/details/45131425
#include <iomanip> setpresition(int n); 设置输出精度浮点数是n. 【goto声明】 goto也被称为无条件分支语句购买勇于改变运行顺序的声明。goto一般声明格公式: goto 牌号。 例:#include <iostream> using namespace std; int main(int args, char *argv[]) {int ivar = 0;int num = 0; label:ivar ++;num += ivar;if(ivar < 10) {goto label;}cout << num << endl;return 0; } goto语句效率较低。 goto语句不能越过复合语句之外的...
1.Visual C++简称VC或者VC++是一个集成开发环境(编辑器+调试器+编译器)gcc---Linux和Unix的C++编译器Vc----Windows的C++编译器2.MFC(Microsoft Foundation Classes)微软基础类库, 是微软封装的用于windows平台开发的类库。分类封装windows的API和SDK(software development kit)中的结构和功能。3.MFC为类库,之前的API是函数库4.配合Vc安装的还有MSDN,正确安装后可以在主界面的“帮助”->“索引..”中打开原文:http://www...
1. C++ const用法 尽可能使用const2. C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。3. 3.1.const 修饰成员变量 #include<iostream>using namespace std;int main(){ int a1=3; ///non-const data const int a2=a1; ///const data int * a3 = &a1; ///non-const data,n...
不定时更新。语言的注释可以用//弄大行注释,/* */弄多行注释。//单行注释/*单行注释*//*多行 注释*/ 输入输出可以用cin或scanf进行读入; 用cout或printf进行输出。cin>>a;//读入变量或常量 scanf("%d",&a);//同理,读入整数a cout<<"输出字符串"; cout<<a;//输出变量或常量 printf("%s",s);//输出字符串 printf("%d",a);//输出变量或常量(整数) /* 具体用法可以自行百度 */ 数据类型类型关键字布尔型bool字符型char整型int浮点...
1 C++面向对象 1// 2// Created by Mr.Z on 2016/3/2 0002.3//4 5#ifndef L01OOP_PEOPLE_H6#define L01OOP_PEOPLE_H7 8 #include <iostream>9class People { 10public: 11void sayHello(); 12}; 131415#endif//L01OOP_PEOPLE_H1//2// Created by Mr.Z on 2016/3/2 0002. 3// 45 #include "People.h"67void People::sayHello() { 8 printf("Hello CPP\n"); 9 } 1 #include <iostream>2 #include "People.h" 3 4class P {5publi...
命名空间 1、为什么使用命名空间 在C/C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字 污染,namespace关键字的出现就是针对这种问题的。 2、命名空间定义 定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。 namespace cpp {int a = ...
一些小知识点 输出数组内容 a[1]=*(a+1)=*(1+a)=1[a] cout<<1[a];//也可以堆的大小是没有限制的,而栈有,一般为8MB,因此不宜在线程中嵌套太深的函数或太大的局部变量。结构体变量占用的内存并不是各部分相加,而是必须是其中最大数据类型的整数倍,目的是为地址对齐,提高读写速度。C++中使用多态时,不要使用派生类给父类初始化,否则会导致对象切断。每个派生类都调用自己直接基类的构造函数,但最终派生类的构造函数负责调用虚...