AKever

导航

C++(1) Base List1

C++ 基础知识系列

1.式子:x = x&(x-1) ,<Hacker's Delight>这本书第1章就有介绍,这种算法是把一个二进制数最右边的一个1变成0。

----------------------------------------------

C++基点

1.引用返回值函数返回值时,要生成一个值的副本。而用引用返回值时,不生成值的副本。

2.联合体和结构体struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成员, 而struct的所有成员都存在。在struct中,各成员都占有自己的内存空间,它们是同时存在的。一个struct变量的总长度等于所有成员长度之和。在Union中,所有成员不能同时占用它的内存空间,它们不能同时存在。Union变量的长度等于最长的成员的长度。

3.关联,聚合,组合的区别及C++实现

 

---------------------------------------------

string(字符串)

转字符:

char str[50] = {0};//初始化为0
sprintf(str,"gross%d.png",i+1);
//str为字符长,例:str = "gross1.png"
string 类型转化为 char*
string str("hello world"); 
char gs[20]; 
strcpy(gs, str.c_str()); 
cout<<gs<<endl; 
cout<<str.c_str()<<endl; 
//string 中方法 c_str()返回const char *字符串

 %s, (char*)s

当我们定义了一个string类型之后,用printf("%s",s1);输出是会出问题的。这是因为“%s”要求后面的对象的首地址。但是string不是这样的一个类型。

 

 ===================================

char

在C/C++ 里面 char 为一个字节 汉字为两个字节 所以是存储不了的
但是在C#(java)里面 char为两个字节  因为C#char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中可以存储汉字。

 ===================================

window doc窗口 字体颜色编程更改

#include"windows.h"
using namespace std;
void main()
{
  cout<<"原色testCOLOR(没有设置字体颜色)"<<endl;
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|
                        FOREGROUND_GREEN|FOREGROUND_BLUE);//设置三色相加
  cout<<"白色testCOLOR(红色绿色蓝色相加)"<<endl;
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
                       //设置红色
  cout<<"红色testCOLOR(设置的颜色为红色)"<<endl;
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN)
                       ;//设置绿色
  cout<<"绿色testCOLOR(设置的颜色为绿色)"<<endl;
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
                       //设置蓝色
  cout<<"蓝色testCOLOR(设置的颜色为蓝色)"<<endl;
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|
                       FOREGROUND_GREEN);//设置红色和绿色相加
  cout<<"黄色testCOLOR(红色和绿色相加色)"<<endl;
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|
                       FOREGROUND_BLUE);//设置红色和蓝色相加
  cout<<"粉色testCOLOR(红色和蓝色相加色)"<<endl;
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|
                       FOREGROUND_BLUE);//设置绿色和蓝色相加
  cout<<"青色testCOLOR(绿色和蓝色相加色)"<<endl;
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY);
                       //设置颜色,没有添加颜色,故为原色
  cout<<endl;
}

 模板:

模板 声明和定义续写在同一文件下(.h)

数组

数组申请的时候就固定了长度,如需改变长度,需重新申请

 

posted on 2014-01-06 16:12  AKever  阅读(377)  评论(0)    收藏  举报