对字符串的逻辑判断有两种旧接口C和C++接口两种,前者需要借助strcmp().
#include <iostream>
#include <string>
using std::string;
class A
{
public:
A(char * Trans)
{
m_Trans = Trans;
}
void compare()
{
if (strcmp(m_Trans, "Quaternion") == 0)
{
std::cout << "using quaternion method" << std::endl;
}
}
private:
char *m_Trans;
};
int main()
{
//
char a[] = "abcdf";
char b[] = "abcdf";
std::cout << &a << std::endl;
std::cout << &b << std::endl;
if (strcmp(a, b) == 0)
{
std::cout << "Strings equal! "<< std::endl;
}
//
char Trans[] = "Quaternion";
A str(Trans);
str.compare();
//
const char* c = "abcde";
string d = "abcde";
if (c == "abcde") {
std::cout << "Strings equal2" << std::endl;
}
std::cin.get();
}