- 博客(34)
- 收藏
- 关注
原创 c++新特性之default,delete
c++新特性之default,delete用法=default 表示使用编译器为我们提供的实现,=delete表示删除函数,不实现。=default =delete一般只能用在编译器为我们生成的函数上,比如构造函数,拷贝构造,析沟函数(不要使用=delete),赋值等。=delete可以用在普通成员函数,但是没有意义。=delete修饰析构函数时,无法进行释放对象,因此无法生成临时变量,无法进行delete,也无法当作父类。下面进行测试:struct Complex{ i
2020-08-18 11:40:36
382
原创 c++新特性之初始化列表
c++新特性之初始化列表initializer Lists用途:用来设置初值int i; //undefined int j{} // 0int *p;//uhdefinedint *q{} //nullptr需要注意的 narrowing initializations当有数据丢失的风险时会报错 或者 warining 下面是在gcc7.5.0上测试的结果int x1(5.3);//OK int x2 = 5.3;//OKint x3{5.3}; //error:
2020-08-18 11:26:27
2612
原创 c++11新特性之头文件
c++11新特性头文件在c++11(C++2.0)中c++标准库的头文件不带.h,例如#include<list> 对于c头文件也不带.h,而是在前面加个c,例如#include<cstdio> 对于旧式的用法#include<stdio.h>也支持c++2.0 新加的头文件 1234567 #include<type_traits> //类型#include<unordered_se..
2020-06-29 16:38:31
552
原创 在wpf中使用winform webbrowser
为什么使用winform webbrowser我们在之前介绍过wpf的webbrowser,wpf的webbrowser坑太多了(js错误,无法获取newwindow事件...)所以不推荐使用它。而winform的webbrowser支持扩展,而且坑比较少,又有大量的资料,因此使用winform webbrowser是一件明确的选择。为什么扩展winform webbrowser举个例...
2019-06-03 20:48:07
3921
4
原创 c++中如何写出优秀的单例模式
单例模式单例模式,是一种常用的软件设计模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。下面是单例模式c++的实现:class Singleton{public: static Singleton* GetInstance() //实现了共用一个对象 { if(_instance == nullptr) { _instance = new Singl...
2019-05-13 23:39:13
1212
2
原创 win与ie的关系
win与ie的关系windows版本 ie5 ie6 ie7 ie8 ie9 ie10 ie11 windows8 x x x x x 可升级 可升级 windows7 x x x 默认 可升级 可升级 支持 windows每次只能拥有一个ie版本,安装新版...
2018-04-17 09:25:53
648
原创 wpf获取ie浏览器版本
WebBrowser渲染如下图其中 ShDocVw 及以下就是WebBrowser的内容,Browser UI不属于WebBrowser。 @import “ie.png” 不少软件都内嵌了IE的WebBrowser控件(也就是MSHTML.dll)来显示网页, 当用户机器升级到某个IE版本时, WebBrowser控件也会随之升级到相应的Ie对应的渲染引擎。为了保证WebBrowser控件能够
2018-04-13 15:11:18
826
原创 wpf webBrowser控件
wpf webBrowser控件介绍WebBrowsers可以让我们在窗体中进行导航网页。 WebBrowser控件内部使用ie的引擎,因此使用WebBrowser我们必须安装ie浏览器(windows默认安装的)。使用直接在xmal中使用webBrowser控件<WebBrowser x:Name="WebBrowser1" Source ="xxx.com"></WebBrowser>其中So
2018-04-12 09:28:24
19846
原创 附加属性的使用-调用虚拟键盘
在之前介绍过附加属性,但是附加属性该怎么样使用呢?这篇文章对上篇文章介绍的虚拟键盘进行一个封装。使它可以用在任意一个支持输入的控件上。 下面直接上代码(我们可以将这个附加属性,新放到一个文件中,using System;using System.Collections.Generic;using System.Diagnostics;using System.Linq;using Sy
2017-11-29 20:57:17
551
原创 c#调用windows虚拟键盘
调用windows自带的tabtip.exe来调用虚拟键盘。我们在textBox获取焦点时候进行调用虚拟键盘 private void textBox_GotFocus(object sender, RoutedEventArgs e){try{ dynamic file = "C:\\Program Files\\Common Files\\microsoft shared\\
2017-11-29 17:51:16
13246
7
原创 windows应用程序单实例之命名管道
前言这一篇博客是进行介绍用管道来实现单例进程也就是所谓的应用程序。这篇文章主要通过少量的代码介绍一些思想,有了思想实现就变得很简单了。 单一实例应用程序对象设计的思想既然我们说了使用命名管道来实现这个功能,那们管道是什么呢?管道的功能管道是进程间通信的一种方式,我们可以这样想,有两个人,住在两个房子里,他们两在任何时候都无法联系,也就是说这两个人任何时候都不知道他们各自在干什么。但是他们两却想进行
2017-11-04 10:31:24
856
原创 windows应用程序单实例
前言这才第几天博客就跟不上了,看来一天一篇博客的目标还是有点大,写博客还是挺费时间的,写了不满意删,删完再写。。。直到自己没了耐心。今天先写个前言,实质性的内容明天再补吧。今天一天的收获还是挺多的,首先windows下单例程序的实现方式,这篇文章最主要介绍一个进程间通信的方式。当然其他方法也需要介绍。还有编程中的敏捷开发,这个内容现在是大体上了解了,还有待深挖,学会后应用到自身上试试。敏捷开发这部分
2017-11-04 10:25:04
822
原创 fork别人项目后如何实时的更新自己的远端项目
前言这个问题是这样的,我从一个公共的远程仓库fork了一个项目,然后从自己的远程仓库(fork后的)clone到本地。过了一段时间,我需要在公共的远程仓库的一个新分支上进行开发,可是我的远程仓库(之前clone的)里并没有这个分支。所以我需要从公共仓库同步这个分支到我的远程仓库。然后进行merge request。所以下面就介绍了如何根据公共仓库更新自己的远程仓库。fork别人项目后更新自
2017-11-04 10:19:52
1536
转载 深入WPF -- Dispatcher(补)
作者:周永恒出处:http://www.cnblogs.com/Zhouyongh 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利书接前文,前篇文章介绍了WPF中的Dispatcher,由于概念太多,可能不是那么好理解。这篇文章继续讨论,希望在线程和Dispatcher这个点上,能把它讲透
2017-10-17 15:36:58
1327
转载 WPF内部的5个窗口之隐藏消息窗口
本文是由葡萄城控件技术开发团队发布,转载请注明出处:葡萄城控件WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口WPF内部的5个窗口对于Windows系统来说,它是一个消息系统,消息系统的核心就是窗口。对于WPF来说也是如此。那么WPF内部为什么需要窗口,又存在哪些窗口呢?在上一篇,我们频繁的提及“线程”,“Dispatcher”其实,运行WPF应用程
2017-10-09 20:05:30
1039
转载 一站式WPF--线程模型和Dispatcher
作者:周永恒 出处:http://www.cnblogs.com/Zhouyongh 开始着手写这个WPF系列,这里的一站式,就是力争在每一个点上能把它讲透,当然,做不到那么尽善尽美,如果有不对的地方也欢迎朋友们指正,我会逐步补充,争取把这个系列写好。通常,WPF 应用程序从两个线程开始:一个用于处理呈现,一个用于管理 UI。呈现线程有效地隐藏在后台运行,而 UI 线程则接收
2017-09-30 09:31:23
438
1
转载 一站式WPF--Window(一)
作者:周永恒 出处:http://www.cnblogs.com/Zhouyongh 在正式研究Window的功能之前,先来看一下,什么是Window?什么是Window Window是Windows操作系统的核心,从表现上来说,Windows就是由许许多多的Window组成的,那么具体什么叫Window呢? 通常意义上讲,我们所谓的Window是最外面的Wi
2017-09-29 10:30:35
381
原创 (一)github新建仓库
Git入门新建仓库(放代码的地方)1.在网页上新建打开https://github.com/ 进行登陆,登陆成功后进入下面这个页面点击下图中的选项进入新建仓库界面。下面就是新建仓库的界面其中有个选项是否初始化README,在这个文件里写关于项目的内容。填好之后我们点解
2017-09-21 09:53:40
300
原创 Binding应用(一)
下面我们用Binding实现一个简单的小程序。首先是界面XAML:<Grid> <StackPanel> <ProgressBar Name="Bar1" Margin="5" Height="20" Maximum="100" Minimum="0"></ProgressBar> <ProgressBar Name="Bar2" Margin="5" Hei
2017-09-20 20:56:26
302
原创 (八)Binding
下面进行介绍一个Binding的最简单用法:我们首先创建一个Students类包含一个学生姓名的列表的属性。这个类的实例将会作为数据源.class Students{ private List<string> name = new List<string>(); public List<string> Name = public List<string> Name
2017-09-20 14:38:34
268
原创 (七)命令
命令使用步骤:创建命令类,即获得实现ICommand接口的一个类,创建RoutedCommand(与业务无关)或者其(或ICommand)的派生类(与业务有关)。声明命令实例指定命令源,即指定由谁来发命令,同一个命令可以有多个命令源。当吧命令指派给命令源的时候,命令源的使用会受到命令的影响。当命令不可用的时候,命令源的空件处于不可用状态。指定命令目标。命令目标不是命令的属性,而是命令源的属性
2017-09-03 22:59:50
384
原创 (五)路由事件
路由事件路由事件与直接事件的区别直接事件激发时,发送者将消息通过事件订阅交给事件响应者,事件响应者用其事件处理器方法对事件的发生做出响应。路由事件的事件拥有者和事件响应者没有直接的显示的订阅关系,事件的拥有者只负责激发事件,事件将由谁响应它不知道。事件的响应者安装有事件侦听器,针对某一类事件进行侦听,当有此类事件传递至此时事件响应者就使用事件处理器来响应事件,并决定事件是否可以继续传播。使用W
2017-09-03 22:34:13
254
原创 (四)附加属性
附加属性附加属性的含义是:一个属性本来不属于某个对象,因为某种原因需求而被附加上。就是把一个对象放入某一个特定的环境后,对象才具有的属性。举个例子: 假设我们有一个人的类People,它有可能在与学校相关的工作中用到(记录学号,专业,班级) 它也有可能在与公司相关的工作中用到(部门,项目),所以我们在定义People类时不应该包含class,id等等,这些应该放在School这些类里
2017-09-03 22:28:08
1022
原创 (三)依赖项属性的特性
对内存的使用方式WPF的依赖属性是怎么节约内存的?依赖项属性 - 在传统的.NET开发中每一个对象所占用的空间在调用new的时候就已经定了 - 在WPF中允许对象在创建的时候不包含用于存储对象的空间。只保留在需要用到数据时能获得的默认值,借用其他对象数据,或者实时开辟空间。 - 上面所说的对象就时依赖对象,而依赖对象实时获取数据的能力则依靠依赖属性来实现. - WPF中依赖对象被Depen
2017-09-03 21:43:11
585
原创 (二)依赖项属性
依赖项属性与.NET普通属性效率更高的保存机制支持附加功能,如更改通知,属性值继承是WPF许多重要功能的基础(动画,数据绑定,样式)在代码中使用方式和普通属性一样 WPF中元素提供的大多数属性都是依赖项属性。依赖项属性是专门针对WPF创建的。定义依赖项属性 依赖项属性只能为依赖对象添加 (WPF中的元素等大部分基础结构都继承至DependencyObject) 依赖对象指继
2017-09-02 11:24:21
846
原创 (一)理解XAML
XAML是用于实例化.Net对象的标记语言 XAML的主要作用是构造WPF用户界面。 XAML文档定义了在WPF应用程序中组成窗口的面板,按钮以及各种控件的布局。为什么要有XAML 要处理图形丰富的复杂应用程序,最有效的方式是将图形从底层代码中分离出来。 - 这样美工可以独立设计图形。 - 开发人员独立编写代码。 WPF通过XAML解决了上面的问题。
2017-09-02 11:14:01
459
原创 对于django 1.10.5创建简单的app应用
因为自己最近在看django然后照着python核心编程,与网上的一些博客进行搭建。因为版本不同,配置文件中的格式有些变化,所以有问题,因此自己整理了一下。 django 1.10.5mysite 中 url.py2 mysite 中 views.py结果:添加一个app westmysite 中 setting.py
2017-02-13 14:12:17
306
原创 数组的简单处理方式
#includevoid swap(int &a, int &b){ int p; p = a; a = b; b = p;}void init(int *arr){ int i; for (i = 0; i < 10; i++) { arr[i] = i + 1; }}void show(int *arr){ int i = 0; for (i = 0;
2015-05-06 12:04:17
350
原创 简单计算器(利用函数数组指针)带图片
#includedouble add(double a,double b){ return a+b;}double sub(double a,double b){ return a-b;}double mul(double a,double b){ return a*b;}double div(double a,double b){ return a/b;}in
2015-03-29 17:13:42
496
原创 简单的函数指针应用(linux)
#includeint max(int x,int y){ if(x>y) return x; else return y; }int main (){ int x= 10; int y= 20; int ret; int (*pfun)(int a,int b); pfun = max;// pfu = &max; ret = pfun(x,y);// ret = (
2015-03-29 14:17:01
297
原创 double atof的实现(char型转double)
#includedouble my_atof(char*str){ int a= 1; double sum=0; double count =0; double bum; while(*str!='\0') { count=count*10; if(*str==' ') { count=count/10; } } else if(*str=='-')
2015-03-26 00:13:38
798
原创 字符数字转为整形数字
#includeint ascii_to_integar(char*str){ int sum = 0; int a= 1; while(*str!='\0') { if(*str==' ') { str++; } else if(*str=='-') { a=-1; str++; } else if(*str>='0'&& *str<=
2015-03-24 17:23:06
500
原创 c语言 输出乘法表
#include int main(){ fun(); return 0;}void fun(void){ int i; int j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%d",i,j,i*j); if(i==j) { printf("\n");
2015-03-24 17:19:20
492
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人