C++
Wzzzzzzx
这个作者很懒,什么都没留下…
展开
-
C++编程对缓冲区的理解
转载自:http://www.sjyhome.com/c++relief-area.html什么是缓冲区缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。为什么要引入缓冲区我们为什么要引入缓冲区呢转载 2016-07-18 09:14:44 · 895 阅读 · 0 评论 -
C++注入回调函数到C# Dll
从C#注入回调函数到C++编写的Dll中网上可以看到很多方法,但是反过来就麻烦多了。回调函数的本质就是传递一个函数地址给相应的函数进行处理。所以C++往C#中注入回调函数,所需要解决的问题就是,C++的函数要怎么传到C#中。在网上的资料虽然都是C#往C++中注入回调函数,但是可以看到都是采用委托来实现的。所以在这里我们可以...原创 2019-09-06 20:40:51 · 1064 阅读 · 2 评论 -
C++调用C#
现在手上有一个需求,需要通过C++去调用C#的方法。整个过程还是挺纷繁复杂的,在这做一点小小的记录。整体的思路如下:非托管C++ --> 托管C++ --> C#因为非托管C++缺乏一些运行时的类库支持,所以需要借助于托管C++做一个wrapper的活。首先完成C#的开发,此时我们创建的是一个C#的动态链接库的项目namespace CSharp{ publi...原创 2019-07-29 22:02:28 · 7465 阅读 · 0 评论 -
qBreakpad在Linux下的编译和使用
Google家的Breakpad因为其跨平台的特性,在崩溃信息收集上报方面有着挺广泛的应用。但是在Qt有一个更好的封装库,该库将Breakpad多进行了一层的封装,使得开发者仅需进行一次编写,代码就可以处处运行。当然,不同的平台还是需要分别的编译的。现在qBreakpad的官方readme有点过期,并且说的也不是很详细,所以此处就着重讲一下Linux平台下的编译吧。clone源代码git...原创 2019-07-29 09:14:37 · 1231 阅读 · 2 评论 -
effective C++条款27,28
27. 尽量少做转型动作c++规则的设计目标之一是,保证“类型错误”绝不可能发生。即,如果我们的程序能顺利的通过编译,那么就意味着它一定不会在任何对象身上致谢任何不安全的操作。类型转换的底层工作任何的一次类型转换,编译器都会编译出运行时期执行的码。int x, y;double z = static_cast<double>(x) / y ;如这段代码所示,在计算机的...原创 2019-05-09 13:17:41 · 214 阅读 · 0 评论 -
类的设计缺陷
这是一个很无意识的错误。class Example {public: void detectString(std::string str); bool success(); String getResult();private: std::string str; bool success;}需求是这样的。我有一个输入,我需要对其进行合法性的检测,然后给出处理结果。我之前的认知...原创 2019-04-28 22:49:53 · 182 阅读 · 0 评论 -
C++琐碎小知识点记录
一些零碎知识点原创 2016-11-20 15:24:30 · 341 阅读 · 0 评论 -
Window对于cin输入流结束的判断
对于while(cin>>temp)的如何退出循环引出的思考原创 2016-07-31 23:15:53 · 4022 阅读 · 0 评论 -
C++中如何理解cout endl
转载自:http://www.sjyhome.com/c++-cout-endl;.html我们在最初学习C++语言时就接触到"cout首先,endl是一个操作符(Manipulators),但我们必须知道endl是一个什么类型的变量。endl是跟在”ostream& ostream::operator << ( ostream& (*op) (ostream&)){//转载 2016-07-18 09:20:37 · 34052 阅读 · 0 评论 -
C++中换行endl和\n的区别
转载自:http://www.sjyhome.com/c++endl-n.html在C++中,在显示的形式上cout<<endl;等同于cout<<"\n";都是换行的作用,那么他们之间有什么区别呢?"\n"表示内容为一个回车符的字符串。std::endl是流操作,输出的作用和输出"\n"类似,但可能略有区别。\n只代表换行的转义字符;\n是C中间的格式...转载 2016-07-18 09:19:11 · 63379 阅读 · 5 评论 -
非托管C++使用托管C++的句柄
当我们学会了使用C++调用C#,也学会注入回调函数到C#中之后,下一步,也是最重要的事就是,把我们的托管C++封装为一个C++的接口,提供给Native C++使用。PImpl这里我们需要使用一种名为Pimpl的编程思想。Pimpl的思想如下图所示:简要的说,我们需要将所有的细节隐藏起来,暴露给外面的,仅仅有行为接口。在CPP实现中,我们可以做任何事情,但是对一切引用我们的头文件的类而言...原创 2019-09-06 21:13:34 · 3374 阅读 · 5 评论