- 博客(22)
- 资源 (5)
- 收藏
- 关注
原创 C++中const引用的初始化
初始化const引用时允许用任意表达式作为初始值,只要该表达式的结果能转化成引用的类型即可。允许为一个常量引用绑定非常量的对象、字面值、甚至是一个表达式:int i = 42;const int &r1 = i; //允许将cont int&绑定到普通int对象上const int &r2 = 42; //正确:绑定到字面值const int &r3 = r1 * 2; //正确:绑定到表达式int &r4 = r1 * 2;
2022-02-10 09:52:29
1176
原创 二叉树前中后序遍历最强统一迭代写法
刷leetcode,评论里面看到的,分享一下。这种写法的时间性能并不是最优解,但是它统一了前中后序遍历的迭代写法(只用移动左、右、自身结点进栈的顺序),很方便记忆!前序遍历:vector<int> preorderTraversal(TreeNode* root) { if(!root) return {}; vector<int> result; stack<TreeNode*> stk; s
2021-08-27 23:58:47
301
原创 Oracle Enterprise Manager无法连接到数据库实例
oem之前还登录好好的,突然就登录不上,提示无法连接到数据库实例orcl。在网上找了好多方法都不行,最后通过重新创建em资料档案库解决了:cmd中输入命令:emca -config dbcontrol db -repos recreate...
2021-08-26 18:44:13
235
原创 递归算法的非递归实现例子
【问题描述】已知Ackerman函数定义如下:(1)根据定义,写出它的递归求解算法;(2)利用栈,写出它的非递归求解算法。【解答】(1)递归实现int Ackerman(int m,int n){ if(m==0) return n+1; if(n==0) return Ackerman(m-1,1); return Ackerman(m-1,Ackerman(m,n-1));}(2)非递归实现:设m=2,n=1,分析算法的递归过程如下图:.
2021-08-08 17:57:50
497
原创 N皇后问题的递归算法和非递归算法
【问题描述】在一个N*N的棋盘上,摆放N个皇后。满足:任何两个皇后不得在同一行、或者同一列、或者同一斜线。找出所有满足条件的布局。思路:假设前i-1行的皇后已经安放成功,现在要在第i行的适当列安放皇后,使得它与前i-1行安放的皇后在行方向、列方向和斜线方向冲突。为此,试探第i行的所有n个位置(列),如果某一列能够安放皇后,就可以递归到第i+1行继续寻找下一个皇后可安放的位置,一直到第n行。如果第i行的所有位置(列)都不能安放皇后,则回溯到i-1行,寻找i-1行下一个可以安放皇后的位置,如果在i-1找到下
2021-08-08 17:20:32
1202
原创 C++表达式的优先级、结合率和求值顺序
表达式运算对象的求值顺序与优先级和结合率无关,在一条形如f() + g() * h() + j() 的表达式中:优先级规定,g()的返回值和h()的返回值相乘。 结合率规定,f()的返回值先与g()和h()的乘积相加,所得结果再与j()的返回值相加。 对于这些函数的调用顺序没有明确规定。如果f,g,h,j是无关函数,它们既不会改变同一对象的状态也不执行IO操作,那么函数的调用顺序不会影响表达式的结果。反之,如果其中某几个函数影响同一个对象,则它是一条错误的表达式,其结果是未定义的。举例:&
2021-07-19 10:14:06
382
原创 mfc 不要在OnPaint函数里面使用CDC
在对话框里面添加WM_PAINT消息的响应函数OnPaint之后,在函数里面添加了一个CClientDC对象,然后运行之后就发现对话框直接卡死了。代码如下:void CSettingDlg::OnPaint(){ CClientDC dc(this); CPen pen(m_nLineStyle, m_nLineWidth, m_clr); CPen* pOldPen = dc.SelectObject(&pen); CRect rect; GetDlgItem(IDC_S...
2021-07-17 17:22:30
362
原创 常量引用的初始化
一般来讲,引用的类型必须与其引用的对象的类型一致。但是对于常量引用是一种例外(还有一种例外是继承体系中基类对派生类的引用)。在初始化常量引用时允许用任意表达式作为初始值,只要该表达式的结果能转换成引用的类型即可。尤其,允许为一个常量引用绑定非常量的对象、字面值、甚至是一个一般表达式:int i=23;const int &r1=i; //允许将const int& 绑定到一个普通的int对象const int &r2=23; //允许将const
2021-07-15 07:47:54
707
原创 MFC 按钮的鼠标移动事件
对话框CDialog类的WM_MOUSEMOVE事件(鼠标移动事件)处理当鼠标在对话框上移动时的操作,如果要求程序在鼠标移动到某个Button上时做出响应,一种直接的想法是在对话框的事件处理程序中根据鼠标的位置判断,如果鼠标位置在按钮上面,然后做出响应。但是Dialog中不能响应控件上的鼠标事件,Dialog中只能响应没有控件地方的鼠标 事件。 要响应按钮上的鼠标移动事件,要自己重写按钮类,在重写的类中响应WM_MOUSEMOVE消息,然后给按钮绑定重写类型的变量。...
2021-07-13 18:25:16
2356
转载 int与CString互转
int转CStringint port = 8080; CString tempPort;tempPort.Format(_T("%d"), port ); //Use Unicode Character SetCString转int CString strData = “8888”int data = _ttoi(strData)使用 Unicode 字符,用_ttoi(),在 ANSI 编码系统中被编译成_atoi(),而在 Unicode 编码系统中编译...
2021-07-13 09:51:57
4654
原创 sizeof运算符
sizeof运算符返回一条表达式或一个类型名字所占的字节数。满足右结合律,得到一个size_t类型(无符号整数)的常量表达式(constexpr)。形式如下: sizeof (type) sizeof exprsizeof并不实际计算其运算对象的值,运算结果部分地依赖于其作用的类型:对char或者类型为char的表达式执行sizeof运算,结果为1。 对引用类型执行sizeof运算得到被引用对象所占空间的大小。 对指针执行sizeof运算得到指针本身所占用空间的大小。...
2020-09-11 21:42:31
342
原创 转义序列
有两类字符程序员不能直接使用:一类是不可打印(noprintable)的字符,如退格或其他控制字符,因为它们没有可视的图符;另一类是在C++语言中有特殊含义的字符(单引号、问好、反斜线)。在这些情况下需要用到转义序列(escape sequence):换行符 \n 横向制表符 \t 报警(响铃)符 \a纵向制表符 \v 退格符 \b ...
2020-09-09 12:08:23
1110
原创 算术类型的类型转换
类型所能表示的值的范围决定了转换的过程:当把一个非bool类型的算术值赋值给bool类型时,0转换为false,否则转换为true。 当把一个bool值赋给非bool类型时,false转换薇0,true转换为1。 当把一个浮点数赋给整数类型时,仅保留整数部分。 当把一个整数值赋给浮点类型时,小数部分记为0。如果该整数所占空间超过了浮点类型的容量,精度可能有损失。 当给无符号类型赋一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数。比如,8比特大小的unsigned cha
2020-09-09 11:15:01
365
转载 Windows下cmd标准输入输出重定向[转]
Command 功能 command > filename 把标准输出重定向到一个文件中 command >> filename 把标准输出重定向到一个文件中(追加) command 1 > fielname 把标准输出重定向到一个文件中 command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件 command 2 > filename 把标准错误重定向到一个文件中
2020-06-28 23:55:54
1739
原创 如何从键盘向程序输入文件结束符(end-of-file)
当使用一个istream对象作为条件时,其效果是检测流的对象。如果是有效的流,即流未遇到错误,那么检测成功。当遇到文件结束符(end-of-file),或者遇到一个无效输入时,istream的对象会变成无效,从而使条件变为假。#include<iostream>int main(int argc,char *argv[]){ while(std::cin>>value) { std::cout<<value<<std
2020-06-28 18:29:21
760
转载 exp导出备份数据库 报EXP-00026:指定了冲突模式
原创blog: http://blog.youkuaiyun.com/lsyuan1989/article/details/50418665 今天用exp导出备份数据库 报EXP-00026:指定了冲突模式导出脚本是:exp system/oracle@orcl file=E:\databackup\xwrj_%date:~0,10%.dmp owner=xwrj,xwrj_0,xwrj_1 full=y如...
2018-03-21 18:51:02
1396
转载 ORACLE删除当前用户下所有的表的方法
原文链接:https://www.cnblogs.com/franson-2016/p/5925809.html1、如果有删除用户的权限,则可以:drop user user_name cascade;加了cascade就可以把用户连带的数据全部删掉。删除后再创建该用户。--创建管理员用户create user 用户名 identified by 密码 default tablespace spa...
2018-03-21 14:28:14
374
转载 Oracle修改字段类型总结
原文链接:https://www.cnblogs.com/langtianya/p/6148491.html有一个表名为tb,字段段名为name,数据类型nchar(20)。1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20));2、假设字段有数据,则改为nvarchar2(20)可以直接执行:alter t...
2018-03-21 11:44:16
250
转载 oracle 11g不能导出空表的多种解决方法
ORACLE 11g 用exp命令导出库文件备份时,发现只能导出来一部分表而且不提示错误,之前找不到解决方案只能把没导出来的表重新建建立。后来发现是所有的空表都没有导出来。于是想好好查查,因为在以前的10g版本中没有这样的问题。查资料发现Oracle 11g中有个新特性:新增了一个参数“deferred_segment_creation”含义是段延迟创建,默认是true。具体是什么意思呢?如果这个...
2018-03-20 17:25:31
417
C#ListView控件使用简单例子源代码
2015-09-24
C#ListView控件使用简单例子源码
2015-09-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人