关于编程符号"<<"的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于编程符号"<<"的问题相关的知识,希望对你有一定的参考价值。
很多程序都有诸如1<<number之类的式子,这个<<究竟是什么意思啊???
<<是位运算操作符,左移运算1<<number其实就是2^number的另一种写法 参考技术A
用转义字符
& lt; < 小于号
& gt; > 大于号
& amp; & 和
& apos; ' 单引号
& quot; " 双引号
<= 要写成 & lt;= 参考技术B << 表示按位左移 参考技术C 左移 参考技术D 向左移.
请教QDatastream与QVariant的相关问题(QT编程)
QVariant V("123");
QByteArray b("321");
QDataStream o(&b,QIODevice::ReadWrite);
o << V;
cout<<" b:"<<b.data()<<endl;
cout<<" V:"<<V.toByteArray().data()<<endl;
我想问下为什么b输出为空?
1、如果将cout换为二进制文件QFile(或者查看调试时的变量b值),
QFile file("file.dat");file.open(QIODevice::WriteOnly);
QDataStream out(&file);
out<<V;
file.close();
那么会发现输出的结果是\\0 \\0 \\0 \\n \\0 \\0 \\0 \\0 6 \\0 '1' \\0 '2' \\0 '3'.
2、如果将o << V;替换为o << V.toByteArray();,那么结果为\\0 \\0 \\0 \\0 3 '1' '2' '3'.
3、如果直接将V输出到控制台上,显示结果为QVariant(QString, "123");
所以,推测为QVariant具有独特的内存结构,如果直接以QByteArray将其内存数据输出到控制台,由于内存格式仍为QVariant的内存结构,所以控制台上不能显示出来。
不过,再具体的就说不上来了,查看QVariant类定义,也没有发现为什么会有\\0 \\0 \\0 \\n等这样的数据。希望高手解答啊。
以上是关于关于编程符号"<<"的问题的主要内容,如果未能解决你的问题,请参考以下文章
关于wpf窗体编程的问题~ 在使用visualBrush进行字体上下镜像对称出现时,如下图所示:
请教QDatastream与QVariant的相关问题(QT编程)
编写一个java程序: 是关于RLE decode 比如说:sdf^5t经过程序后就会成为sdfttttt 符号是" ^ " 谢谢