static C C++语义
存储期storage duration(extent), 指为对象配置的内存的存活期,比如local extent
生存空间scope,指对象在程序内的存活区域,即可被访问的范围,比如file scope, static scope, local scope
C
local static object
函数内部的object,具有local scope,但是每次函数被调用后该对象的内存不清理,到下次调用还保持原状
file static oject,static function
只有被编译文件的声明点之后才能使用该object和该funciton,达到隐藏外部对象的目的
C++
直接定义在文件中的变量(无论是否加static),具有file scope,即static scope,内存一直到程序结束才释放
local static object
函数内部的object,具有local scope,但是每次函数被调用后该对象的内存不清理,到下次调用还保持原状
static class member
class内唯一的一份(即跟对象无关),可共享的,member
const static class member
同static class member,但是可且仅可在声明时赋值
static class functions
不存取任何non-static members的函数
#pragma once
#include <string>
using namespace std;
class MyClass1
{
public:
MyClass1(void);
~MyClass1(void);
static void Test(void); //static class function
private:
static string _name; //static class member
static int _age; //static class member
int _testi;
const static int _size = 1; //const static class member
};
static int mytest2i = 0;
#include "StdAfx.h"
#include "MyClass1.h"
int MyClass1::_age;
string MyClass1::_name = "test"; //initialize here
MyClass1::MyClass1(void)
{
mytest2i = 0;
}
MyClass1::~MyClass1(void)
{
}
void MyClass1::Test(void)
{
MyClass1::_age = 1;
}
相关文档:
现在很多人都问 C++和Java 哪个好. 其实技术上各有各的好处与不足,我想大家所说的好不好指得是前途好不好,赚的多不多.
要说赚钱最多的肯定是C++了.因为一门技术是否值钱全看会它的人有多少而不在于这个技术本身的好坏. C++涉及硬件底层的东西比较多,学起来很复杂,会的人少,所以值钱.
&nb ......
#include <stdio.h>
#include <windows.h>
#include <mysql.h>
#define host "localhost"
#define username "root"
#define password "123"
#define database "oa"
MYSQL *conn;
int main()
{
MYSQL_RES *res_set;
MYSQL_ROW row;
unsigned int i,ret;
FILE *fp;
MYSQL_FIELD *field;
......
Delphi 与 C/C++ 数据类型对照表
Delphi数据类型C/C++
ShorInt
8位有符号整数
char
Byte
8位无符号整数
BYTE,unsigned short
SmallInt
16位有符号整数
short
Word
16位无符号整数
unsigned short
Integer,LongInt
32位有符号整数
int,long
Cardinal,LongWord/DWORD
32位无符号整数
unsigned long
Int6 ......
1、在cpp文件中调用c文件中实现的函数的时候,需要用extern "C"声明该函数,否则cpp会按名字改编后的
函数名去找该函数而找不到。
cpp文件调用c文件中函数如下:
c文件中有一函数:
void Transfer(int a; char b);
&nbs ......
C 中,
int 和long的范围一样,只能表示(-2^31~2^31)整数,即(-20亿~ 20亿)
unsigned int 与unsigned long 范围是(0 ~2^32),40亿多一点。
如果要表示更大一些的整数,这两种数据类型就不好用了,在ACM中经常要处理这样的数据类型,以前我的笨方法是做一个整形数组,每个a[i]存一位,这样加减 ......