我一直在使用visual studio,每次使用Classes时都会让我很烦.问题是,当我创建一个类的对象时,我倾向于看到私有成员属于该类而我不想,因为如果我创建一个包含10+私有变量的类,那么它将是一场噩梦,必须有隐藏私人会员的方法,如果有办法请与我分享?谢谢 :)
编辑:
这张图片可以帮助您理解我在说什么,

例如,我有2个LinkedList类的私有变量(curSize和head)我将无法从main更改它们,所以没有必要看到它们(是吗?)如何在不改变代码的情况下隐藏它们?在Visual Studio中有设置吗?
我正在尝试使用ffmpeg从视频文件中捕获帧,但我甚至无法获得视频的持续时间.每次当我尝试访问它时,pFormatCtx->duration 我都会得到0.我知道指针已初始化并包含正确的持续时间,因为如果我使用 av_dump_format(pFormatCtx, 0, videoName, 0);那么我实际上得到持续时间数据以及有关视频的其他信息.这是我使用时得到的av_dump_format(pFormatCtx, 0, videoName, 0);:
输入#0,avi,来自'futurama.avi':
持续时间:00:21:36.28,开始:0.000000,比特率:1135 kb/s
流#0.0:视频:mpeg4(高级简单配置文件),yuv420p,512x384
[PAR 1:1 DAR 4:3],25 tbr,25 tbn,25 tbc
流#0.1:音频:ac3,48000Hz,立体声,s16,192kb/s
我不明白为什么av_dum_format可以显示持续时间而我不能.我检查了函数定义,显示持续时间,该函数也使用pFormatCtx-> duration.当我在main.cpp中调用它们时,其他成员变量也不会显示正确的数据
这是我的main.cpp:
extern "C" {
#include<libavcodec/avcodec.h>
#include<libavformat/avformat.h>
#include<libswscale/swscale.h>
}
int main(int argc, char *argv[]) {
AVFormatContext *pFormatCtx = NULL;
const char videoName[] = "futurama.avi";
// Register all formats and codecs.
av_register_all();
cout << "Opening the video file";
// Open video file
int ret = avformat_open_input(&pFormatCtx, videoName, NULL, NULL) != 0;
if (ret …Run Code Online (Sandbox Code Playgroud) 我有一个图像,我想将这个图像分成n个部分.所以我想知道的是我怎样才能用QImage做到这一点?或者这个任务有更好的(表现明智的)Qt类吗?
例如,想象我有一个由1920x1080像素组成的图像,我想将它分成100个,这意味着每个部分将包含192x108像素.请注意,我不想创建相同的缩放到192x108的片段.每件作品都是主图片的一部分.
我附上了一张图片,让我的问题更加清晰.这个图像由1920x1080像素组成,每个部分都是由192x108像素组成的网格,我想将它们作为QImage对象处理,而不是实际将它分成100个.
有没有办法用QImage做到这一点?性能在这里很重要,因为我将分析每件作品,通常会有超过1000件.
谢谢您的帮助!
编辑:两种方法都很完美,但是alexisdm的方法更复杂,更低级,但速度更快.jmk的方法更容易使用,但速度较慢.
谢谢你的回答.
我一直在使用stringstream转换Integer到String,但后来我意识到同样的操作是可以做到的ostringstream.
当我使用.str()它们之间有什么区别?此外,是否有更有效的方法将整数转换为字符串?
示例代码:
//using ostringstream
ostringstream s1;
int i=100;
s1<<i;
string str_i=s1.str();
cout<<str_i<<endl;
//using stringstream
stringstream s2;
int i2=100;
s2<<i2;
string str_i2=s2.str();
cout<<str_i2<<endl;
Run Code Online (Sandbox Code Playgroud) c++ ×4
c ×1
ffmpeg ×1
image ×1
intellisense ×1
libavcodec ×1
qimage ×1
qt ×1
string ×1
stringstream ×1