C++定义类型初始化、延时、字符串

1、在c++中如何定义一个类型,并且初始化?

注意:所有的类型包括类、结构体、整数等常规类型都可以使用下列方式:指针的方式和 实例化对象的方式。(注意指针方式在使用完成后需要delete [] 指针,防止内存占用过多)

(1)指针方式

只要是前面加一个new关键字,就会产生一个指针;

例如:new int;          //定义一个指向整数的指针。

new int(5);           //指向整数5指针

new int[5];          //一个指向数组的指针

new int*[6];         //返回一个指针,指向一个数组,数组元素均为指针

理解以下定义:

int** p;

p = new int*[size];

for (int i=0; i<size;i++)

{

           p[ i ] = new int[ size_t ]

}

定义一个整数:int *a = new int();    //当然括号中也可以加载一个值进行初始化

定义一个整数数组:int *a = new int[ size ];  //括号内为数组的大小

定义一个类:假设已知类的类型假设为classA,定义一个类A

classA *A = new classA();   //括号中也可以添加参数(类的初始化构造函数参数)

(2)实例化对象方式

int a = int();  //也可以在括号中添加初始化值,相当于之前的写法int a = 5;

int a [size];  //定义数组

classA A = classA()  ;//或者classA A;即可。

注意数组的特殊性:

int a[10];

//a本身就代表这个数组的指针(地址),可以cout<< a << endl;查看地址

//a[0] 就代表了数组的元素值

int * b = a;

//b 与a是通用的

//b[0] 与a[0] 是一样的,都代表数组的元素值。

int

2、c++程序中如何进行延时?

让c++控制台程序停下来,实现暂停功能:

windows下:

system(“pause”);     //程序在此处停下,按任意键程序才会继续

_sleep(2000);     //程序在此处暂停2s后继续执行

getchar();            //程序等待用户输入一个字符回车后继续执行(这招对QT也有用)

Linux下:

getchar();

#include <unistd.h> 
sleep(5)//延迟5秒 


如果你想延迟一秒以内 那么用 
#include <ctime> 
void   Delay(int   time)      //time*1000为秒数 

       clock_t   now   =   clock();
       while(   clock()   -   now   <   time   ); 

3、字符串

具体建议参考:http://www.runoob.com/cplusplus/cpp-strings.html

(1)C风格的字符串

char* str1 = “abc” ;    //使用指针创建一个字符串(这个字符串是一个常量,不可修改)

或者:

char str2[20] = “abc”;

或者:

char str3[] = “abc”;

(2)C++风格的字符串

(3)获取字符串所占内存空间的大小:sizeof函数的使用

例如:

char* str1 = “abc”;

printf(”%d\n”,sizeof(str1));  //得到str1所占内存空间的大小为4,字符串自带结束符

char str2[20] = “abc”;

printf(”%d\n”,sizeof(str2));  //得到str1所占内存空间的大小为20。

在c++中包含头文件#include<string> ;

std::string str = “abc”;

std::cout << sizeof(str) <<std::endl;  //会得到str字符串所占内存空间的大小40.

(4)获取字符串有效字符的个数:strlen和length() 的使用。

这两个函数的使用都需要包含头文件#include<string>

char* str1 = “abc”;

printf(”%d\n”,strlen(str1));  //得到str1有效字符个数为3.

char str2[20] = “abc”;

printf(”%d\n”,strlen(str2));  //得到str2有效字符个数为3.

但是如果使用std::string定义的字符串则需要使用length()来获取有效字符个数:

std::string str = “abc”;

std::cout << str.length() <<std::endl;  //得到str的有效字符个数为3.

注意:由于字符串也可以看做是字符组成的集合,也可以使用集合的方法来获取字符串的有效字符个数,效果与length()方法是一样的:

std::cout << str.size() <<std::endl;  //得到str的有效字符个数为3.

猜你喜欢

转载自blog.csdn.net/liuzubing/article/details/80742814