C++这个<<符号有什么意义 用法?
8个回答
展开全部
原意为安位左移。
但 C++ 支持重载运算符,所以可以看做简单的函数调用。
比如 std::ostream (std::cout 就是这个 class 的 object )重载了 operator << ,所以在调用 std::cout << "" << std::endl; 的时候其实是在调用两次 operator << (...) 这个 method 。
你也可以给自己的 class 加 operator << (...) ,方法有两种,一种是在 class 里面,就是 method ;另一种是在外面,就相当于全局的运算符重载。
比如:
struct A // 或者 class A
{
A& operator <<= (unsigned int n)
{
m_data <<= n;
return *this;
}
A operator << (unsigned int n) const
{
A result = *this;
return result <<= n;
}
int m_data;
};
或者:
struct B
{
int m_data;
};
B operator << (const B & leftHand, unsigned int rightHand)
{
B result = leftHand;
result.m_data <<= rightHand;
return result;
}
但 C++ 支持重载运算符,所以可以看做简单的函数调用。
比如 std::ostream (std::cout 就是这个 class 的 object )重载了 operator << ,所以在调用 std::cout << "" << std::endl; 的时候其实是在调用两次 operator << (...) 这个 method 。
你也可以给自己的 class 加 operator << (...) ,方法有两种,一种是在 class 里面,就是 method ;另一种是在外面,就相当于全局的运算符重载。
比如:
struct A // 或者 class A
{
A& operator <<= (unsigned int n)
{
m_data <<= n;
return *this;
}
A operator << (unsigned int n) const
{
A result = *this;
return result <<= n;
}
int m_data;
};
或者:
struct B
{
int m_data;
};
B operator << (const B & leftHand, unsigned int rightHand)
{
B result = leftHand;
result.m_data <<= rightHand;
return result;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个符号叫做插入运算符,作用如:cout<<"this is a C++program"<<endl;及是把后面的字符串显示到频幕上去。如果a 是个字符,或是数字,或是字符串,如果要输出a,可以用:cout<<a<<endl;
后面的endl,是end line 的缩写,及换行的意思,形如C语言中的printf(“\n”);
后面的endl,是end line 的缩写,及换行的意思,形如C语言中的printf(“\n”);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用于cout输出,或者是左移。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、C++ 标准输出流符号,例如:cout << "hello world";
2、 逻辑运算的向左移N位(用于扩大2^N倍)
^ ^ 希望有帮助~
2、 逻辑运算的向左移N位(用于扩大2^N倍)
^ ^ 希望有帮助~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询