2018-11-01 14:16
⁄ 工业·编程
⁄ 共 2477字
一、概念
在如下的A指向B、B指向C的指向关系中:
首先
C是"一段内容",比如你用malloc或者new分配了一块内存,然后塞进去"一段内容",那就是C了。C的起始地址是0x00000008。
B是一个指针变量,其中存放着C的地址,但是B也要占空间的啊,所以B也有地址,B的起始地址是0x00000004,但是B内存中存放的是C的地址,所以B里面的内容就是0x00000008。
那么到此为止都比较好理解:
B= 0x00000008; //B的内容
*B ...
指针阅读全文
2018-10-31 21:23
⁄ 科技·视野
⁄ 共 2913字
有人问,迅速发展的科技会对人类进化产生什么影响?简单说说。
1、二三十年内,现有的大部分工作都会消失。
小白领最危险,以与文字、数字打交道,以简单归纳、总结、分析为主要内容的相对规范化的工作,很容易被机器替代。相比之下,换个轮胎之类的粗活,反而不那么好替代。
在金融行业,已经有明显的趋势了。大量的岗位被机器取代,新生的岗位远远没有被替代的岗位多。
这是很明显的。也是情理之中的,如果生产效率不提高,资...
MRandson, 人工智能阅读全文
2018-10-31 13:52
⁄ 工业·编程
⁄ 共 997字
对于一个函数,如果未加引用,则是按值传递,实际上只是复制了一个传入参数相同类型相同值的变量进行操作,当函数结束时,传入变量并未改变,如:
代码1:
void Func(int num)
{
num += 1;
}
int main()
{
int a = 1;
Func(a);
cout<<a<<endl;
return 0;
}
这段代码执行时,将a的值复制给num,num加上1之后为2,...
指针阅读全文
2018-10-30 13:48
⁄ 工业·编程
⁄ 共 483字
在重新回顾C语言数据结构时,在实现顺序表和链表时关于指针使用的区别让我觉得很有趣。
像在顺序表中实现
struct SeqList
{
DataType arry[MAX_SIZE];
int Size;
};
而我们在使用顺序表时,往往在main函数中直接定义:
SeqList seqlist;
在后面对顺序表的使用中,直接传参,比如
InitList(&seqlist);
而在链表中
typedef struct SQList
{
DataType data;
&...
指针阅读全文
2018-10-28 13:42
⁄ 工业·编程
⁄ 共 516字
gdb有一组命令可辅助多线程程序的调试。
info threads
显示当前可调试的所有线程。gdb会为每个线程分配一个ID,我们可以使用这个ID来操作对应的线程。ID前面有“*”的线程是当前被调试的线程。
thread ID
调试目标ID指定的线程。
set scheduler-locking[off|on|step]
调试多线程程序时,默认除了被调试的线程在执行外,其他线程也在继续执行,但有的时候我们希望只让被调试的线程运行。这可以通过这个命令来实现。
该命令设置...
GDB阅读全文
2018-10-27 13:38
⁄ 工业·编程
⁄ 共 469字
如果一个进程通过fork系统调用创建了子进程,gdb会继续调试原来的进程,子进程则正常运行。那么该如何调试子进程呢?
单独调试子进程
子进程从本质上说也是一个进程,因此我们可以用通用的gdb调试方法来调试他。
举例来说如果要调试一个服务器中的某一个子进程,我们可以先运行服务器,然后找到目标子进程的PID,再将其附加(attach)到gdb调试器上,具体操作为:
$ps -ef | grep 进程名
//通过上述命令的到...
GDB阅读全文
2018-10-20 12:19
⁄ 工业·编程
⁄ 共 3595字
map是C++ STL中的关联容器,存储的是键值对(key-value),可以通过key快速索引到value。map容器中的数据是自动排序的,其排序方式是严格的弱排序(stick weak ordering),即在判断Key1和Key2的大小时,使用“<”而不是“<=”。map 使用二叉搜索树实现,STL map的底层实现是红黑树。
map有几个值得注意的地方:map的赋值运算是深拷贝,即调用map_a = map_b后,map_a中的元素拥有独立的内存空间。map的[]运算比较有意思,当元...
map, stl阅读全文
2018-10-18 20:47
⁄ 控制·综述
⁄ 共 2204字
蒸汽机的时代,人在体力方面已经让位给机器了。人工智能的时代,人类在脑力方面的许多工作也将由机器承担。
能归结出回归方程的,有监督学习。
有大量数据的,有非监督学习。
依靠经验熟能生巧的,有强化学习。
什么都说不清楚的,但是有相对清晰任务边界的,有深化学习。
80%的现有的人类工作岗位,都是相对低端的简单、枯燥、重复性的智力劳动,都能被机器取代。甚至一些高级劳动,都可能由机器承担其中的绝大部分甚至完全由...
MRandson, 人工智能阅读全文
2018-10-13 12:17
⁄ 工业·编程
⁄ 共 1150字
软件开发作为一项极易踩坑而且犯错成本很高的工作,一定要有强烈的检查意识。在工作中发现,检查意识能带来很多明显的好处:
检查代码可以加快开发完成时间。大型的C++工程中代码编译速度很慢,短则几十秒,长则十几分钟。因此写完代码就直接编译是非常错误的选择,应该首先由开发者检查代码,解决显而易见的错误,然后再进行编译。理想的情况是我们开发的代码可以一次编译通过,做到这点其实不难,只需保证有以下的检查意识:
...
软件开发阅读全文
2018-10-07 11:05
⁄ 工业·编程
⁄ 共 3164字
单例是什么?单例是一种特殊的类,用于确保只有一个对象,同时提供一种全局访问这个对象的方法。最近在工作中体验了一把5分钟将一个类改造成单例,感觉还是蛮不错的,所以我决定写一篇文章,跟大家交流技术和经验。
单例的原理是利用C++中的静态成员变量和静态成员函数,同时禁用构造函数的方法,达到只有一个对象实例的目的。
具体来说,设计一个单例的要点如下:
(1)类的静态成员变量是该类的指针。
(2)类的静态成员函数...
设计模式阅读全文