基础知识
dustnn
这个作者很懒,什么都没留下…
展开
-
ssms连接sql server出错
解决sql server连接报错问题特定情况:在升级win11后连接sqlserver报错解决很简单:升级win11后服务器名改变了,所以需要更改服务器名称点开选择新的服务器名称就OK了原创 2022-04-24 09:59:06 · 1184 阅读 · 0 评论 -
Linux多线程服务器 ---- 线程安全的对象生命周期管理
编写线程安全的类不难,用同步语句保护内部状态即可。但是对象的生死不能由对象自身拥有的mutex来保护。–>在c++多线程编程时如何避免对象析构时可能存在的race condition???–>这篇文章将使用Boost库中的shared_ptr与weak_ptr来解决这个问题。当一个对象能够被多个线程同时看到,那么此对象的销毁就会变得模糊不定。可能会有几种问题出现:如何保证...原创 2020-03-28 19:07:04 · 274 阅读 · 0 评论 -
c++拷贝(shallow/deep拷贝)以及具体例子证明
一、拷贝构造由已经存在的对象创建新对象。也就是说新对象,不是由构造器来构造,而是由拷贝构造器来完成拷贝构造器的规则:1、系统提供默认的拷贝构造器,一经实现,不复存在2、系统提供的是等位拷贝,是浅拷贝3、若要实现深拷贝,需自定义首先我们通过一个例子来看看系统默认的拷贝构造函数:#include <iostream>using namespace std;class ...原创 2020-02-08 13:50:08 · 791 阅读 · 0 评论 -
标准库string,vector,迭代器简介
一、标准库string类型1.1、string对象的初始化string s1;string s2(s1);string s3("value");string s4(n, ' c') ;【注】string对象读写的特点:读取并忽略开头所有的空白字符读取字符直至再次遇到空白字符,读取终止int main(){ string s; cin >> s; ...原创 2020-01-30 18:31:27 · 144 阅读 · 0 评论 -
多线程
【】一个小例子,用到了c++11的线程库、优雅的断开套接字#include <iostream>#include <unistd.h>#include <sys/socket.h>#include <string.h>#include <arpa/inet.h>#include <thread>using nam...原创 2020-01-23 12:15:47 · 180 阅读 · 0 评论 -
gethostbyname()与gethostbyaddr(),利用域名获取IP和利用IP获取域名
一、 利用域名获取IP地址使用下列函数可以通过传递字符串格式的域名获取IP地址#include<netdb.h>struct hostent * gethostbyname(const char * hostname):成功时返回hostent结构体地址,失败返回NULL指针hostent结构体介绍:返回的地址信息装入hostent结构体,此结构体定义如下:struct ...原创 2020-01-05 10:44:14 · 565 阅读 · 0 评论 -
排序算法——冒泡、选择、插入与希尔排序
一、冒泡排序思路分析:依次比较相邻的两个数将比较小的数放在前面,比较大的数放在后面第一趟比较完后,最小的数放在第一位;那么在第二趟的时候不需要再对第一位数进行比较依次类推,每一趟比较次数依次减小c++代码实现:#include<iostream>using namespace std; void show(int arr[], int n){ fo...原创 2019-11-28 17:41:37 · 512 阅读 · 0 评论 -
枚举算法(熄灯问题)
上课笔记:图片截图自慕课网的视频问题描述:有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。请你写一个程序,确定需要按下...原创 2019-11-24 14:06:34 · 570 阅读 · 0 评论 -
递归算法
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了!可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助...转载 2019-11-22 19:52:38 · 161 阅读 · 0 评论 -
cocos-creator制作五子棋(二)人机算法
五子棋人机算法分析:首先在玩家下完子之后,需要ai下棋。那么ai应该是去拦截玩家的棋子或者使自己棋子更容易形成五连,所以在ai眼里并不是所有棋盘上的空位置都是一样的。很定有优先考虑的位置。那么我们将采用对棋盘空位置进行赋分的方法来进行区别每个位置。思路:每次下子后,遍历整个棋盘,对棋盘的每个空位置进行赋分------然后找到分值最好的位------ai进行落子方法一:对每个空位置的八个方向进...原创 2019-11-08 19:58:06 · 1370 阅读 · 0 评论 -
Leet Code算法题(反转链表)
c++解题思路,如何反转一个链表将head放到最后一位 -->head->next作为head–>重复操作看图解:首先这是一个链表定义几个指针 ListNode *preP= NULL, *curP = head, *nextP=head->next;然后执行代码:curP->next = preP; //将head放到最后preP = curP;...原创 2019-10-24 13:08:49 · 221 阅读 · 0 评论 -
Cocos-creator制作一个的五子棋(一)人人对战
一、首先将spriteFrame为空的预制体chess加载到在15*15的棋盘上,并将其存进数组chesslist中 chesslist:{ default:[], type:[cc.node] }, chessBoard:function(){ //将chess预制体铺满棋this.ches...原创 2019-10-15 18:50:56 · 3370 阅读 · 3 评论 -
Cocos-creator节点上的属性的寻找
如果不知道怎么寻找的话:1、将该结点打印出来2、节点名称.属性名称就可以找到了例:我们想要获得节点的position属性I、如图我们发现position属性在该节点的node组件里面,所以乐意用如下代码获取position属性test.node.positionII这次打印的节点的position直接是在节点中,所以可以用一下代码来访问test.position...原创 2019-10-15 18:32:15 · 1219 阅读 · 0 评论 -
如何将 Node.js 作为后台进程运行并永远保持下去?
首先将forever下载号,执行一下命令就好:npm install forever -g安装完成后,用以下指令可以进行开始与停止:forever start test.jsforever stop test.js可以用以下代码查看进程:forever list...原创 2019-09-28 15:28:43 · 1058 阅读 · 0 评论 -
新手购买阿里云服务
1、先进去阿里云2、点击控制台3、这里如果是自己买来练练推荐买轻量级服务器,比较便宜。一般用 的话也是够了4、然后点击创建服务器5、这边推荐选择LAMP镜像(一般24岁一下会默认为学生,有学生优惠差不多9.5元一个月)6、然后点击购买,根据它的流程来然后在自己的服务器列表就可以看见自己的服务器了,然后红色圈出来是自己的公网ip7、然后点击远程连接,第一次进去记住 这个密码...原创 2019-09-27 17:04:04 · 193 阅读 · 0 评论 -
js - 解析读取json
读取解析json串json格式有两种:一种是json对象,一种是json数组一、json对象JSON 对象使用在大括号({})中书写。json对象的访问方式,例:var obj={ "name":"mike", "phone":"12781272", "friend":{ "friend1":"nn", "friend2":"mm"...原创 2019-08-11 10:03:00 · 608 阅读 · 0 评论 -
js基础知识
js一些基本知识1、变量,变量会引用值,相当于一个变量可以指向很多个值2、在浏览器环境中显示对话框,alert("good morning!");prompt("shall me");confirm("shall we");alert:弹出窗口prompt用户在对话框输入文本信息confirm选择“是”或“否”3、函数在函数中只有用var声明的变量才属于函数的局部变量;定义...原创 2019-07-10 09:48:21 · 94 阅读 · 0 评论 -
构造函数
构造函数一、定义:每个类都分别定义了它的对象被初始化的方式。类通过一个或几个特殊的成员函数来控制其对象的初始化过程,这些函数就叫构造函数。(构造函数的任务就是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。)【注】:如果类的设计者没有写构造函数,那么编译器会自动生成一个没有参数的构造函数。二、格式(函数名与类名一样,没有返回值)例:Class Complex{pr...原创 2019-06-02 21:32:29 · 2587 阅读 · 0 评论