桑海

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  问题、实验

学习中遇到的问题与实验调试等
摘要:原文地址: C++转换构造函数和隐式转换函数 用转换构造函数可以将一个指定类型的数据转换为类的对象。但是不能反过来将一个类的对象转换为一个其他类型的数据(例如将一个Complex类对象转换成double类型数据)。C++提供类型转换函数(type conversion function)来解决这个问 阅读全文
posted @ 2017-10-04 00:30 桑海 阅读(2913) 评论(0) 推荐(0)

摘要:STL的erase()陷阱-迭代器失效总结 阅读目录(Content) 1.list,set,map容器 1.1 正确写法1 1.2 正确写法2 1.3 错误写法1 1.4 错误写法2 1.5 分析 2. vector,deque容器 2.1 正确写法 2.2 注意 3.迭代器失效的情况 3.1 v 阅读全文
posted @ 2017-09-07 17:16 桑海 阅读(151) 评论(0) 推荐(0)

摘要:迭代器失效: 典型的迭代器失效. 首先对于vector而言,添加和删除操作可能使容器的部分或者全部迭代器失效。那为什么迭代器会失效呢?vector元素在内存中是顺序存储,试想:如果当前容器中已经存在了10个元素,现在又要添加一个元素到容器中,但是内存中紧跟在这10个元素后面没有一个空闲空间,而vec 阅读全文
posted @ 2017-09-07 17:15 桑海 阅读(384) 评论(0) 推荐(0)

摘要:在server上/etc/hosts文件中把你本机的ip和hostname加入 hostname ifconifg 在server上/etc/ssh/sshd_config文件中修改或加入UseDNS=no service sshd restart service network restart 阅读全文
posted @ 2017-05-15 15:23 桑海 阅读(214) 评论(0) 推荐(0)

摘要:不满足于一条一条执行命令,我们可以将命令写进脚本里面,连续执行, 1: gdb启动会在当前目录寻找.gdbinit文件,并读取里面的命令列表 2: 我们可以启动gdb 时,加-x cmd.gdb 来指定gdb需要执行的脚本 gdb test -x cmd.gdb | tee -a cmd.log 3 阅读全文
posted @ 2017-05-04 15:54 桑海 阅读(566) 评论(0) 推荐(0)

摘要:Linux 平台下阅读源码的工具 前言 看源代码是一个程序员必须经历的事情,也是可以提升能力的一个捷径.个人认为: 要完全掌握一个软件的方法只有阅读源码在Windows下有sourceinsight这个源码阅读软件(虽然我没用过,但是网上评价还不错),由于我是个Linuxer,并不喜欢用Window 阅读全文
posted @ 2017-04-14 14:46 桑海 阅读(459) 评论(0) 推荐(0)

摘要:GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu 阅读全文
posted @ 2017-04-13 20:21 桑海 阅读(1523) 评论(0) 推荐(0)

摘要:一个页面显示不完: ESC进入命令模式, 按s 就可以滚动命令窗口查看了。 cgdb里面还可以 ESC 命令模式下, Ctr+W 切换做vertical分屏。 阅读全文
posted @ 2017-04-07 11:01 桑海 阅读(1689) 评论(0) 推荐(0)

摘要:体系结构:原理介绍·参考好文:应用 Valgrind 发现 Linux 程序的内存问题 简单组一个摘要: Valgrind包括如下一些工具: 一下是自己常用的配置选项: 此工具要比gprof 好用, 阅读源码,查看调用关系: 使用excel 查看该文件, kind列以及后面的5列, 查看。 比较实用 阅读全文
posted @ 2017-03-27 23:08 桑海 阅读(506) 评论(0) 推荐(0)

摘要:百度师傅最快的到家服务,最优质的电脑清灰 百度经验:jingyan.baidu.com 有个网友遇到一个非常奇怪的上网问题,刚才始,发现QQ不能登录,后来接着发现火狐浏览器也打不开网页,刚开始,以为只是网络问题,便重启了电脑与路由器等网络设备,还不行,于是用其它电脑连接网络,却发现可以上网,所有浏览 阅读全文
posted @ 2017-03-18 12:29 桑海 阅读(1608) 评论(0) 推荐(0)

摘要:C++类型转换总结 C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a。C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去const属性。static_cast,命名上理解是静态类型转换 阅读全文
posted @ 2017-03-09 16:12 桑海 阅读(216) 评论(0) 推荐(0)

摘要:原文:http://blog.csdn.net/haoel/article/details/1948051 一、简介 C++中的虚函数的作用主要是实现了多态的机制。虚函数(Virtual Function)其实是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。在这个表中 阅读全文
posted @ 2017-03-09 12:39 桑海 阅读(247) 评论(0) 推荐(0)

摘要:转载: [C++对象模型][8]多重继承与虚函数表 一 多重继承 1) 代码: 2)类图: 3)VS2008的编译选项查看布局: 4)可视化表示: 5)代码验证: 6) 验证代码运行结果: 7)总结: 与单继承相同的是所有的虚函数都包含在虚函数表中,所不同的多重继承有多个虚函数表,当子类对父类的虚函 阅读全文
posted @ 2017-03-09 12:36 桑海 阅读(240) 评论(0) 推荐(0)

摘要:1 using namespace std; 2 #include <iostream> 3 4 using namespace std; 5 6 class A{ 7 public: 8 virtual void Fun1(){ 9 cout << "A::Func1" << endl; 10 } 阅读全文
posted @ 2017-03-09 11:57 桑海 阅读(121) 评论(0) 推荐(0)

摘要:1 set args >output.log 1 set args >output.log 1 set args >output.log 三种方法,一种通过tee在启动时重定向: 1 gdb |tee -a file 1 gdb |tee -a file 1 gdb |tee -a file 第二种 阅读全文
posted @ 2017-02-14 10:02 桑海 阅读(2863) 评论(0) 推荐(0)

摘要:使用cgdb 和 gdbtui 调试程序时, 遇到scanf函数时 it seems to enter into an infinite loop According to the info page of cgdb, you need to either: start the program on 阅读全文
posted @ 2017-01-24 00:42 桑海 阅读(1257) 评论(0) 推荐(1)

摘要:三类随机问题 1. 已有n条记录,从中选取m条记录,选取出来的记录前后顺序不管。 实现思路:按行遍历所有记录,约隔n/m条取一个数据即可 2. 在1类情况下,还要求选取出来的m条记录是随机排序的 实现思路: 给n条记录,分别增加一列标记,值为随机选取的1至n之间的不重复数据, 实现参考博文 将文件内 阅读全文
posted @ 2017-01-23 11:21 桑海 阅读(885) 评论(0) 推荐(0)

摘要:今天调试一个程序, 明明是全局变量, 并且都正确的初始化和插入,但是,使用的时候,经过调试,发现,使用的时候,只能使用一次,以后次全局变量就自动清空了。 调试~调试~ 发现: 此处初始化没有给定大小(原来想看看需求再添加上的,后来忘了),Makefile中使用clang -g -Wall ~~~~参 阅读全文
posted @ 2017-01-19 17:23 桑海 阅读(304) 评论(0) 推荐(0)

摘要:调试程序的时候有时候要一行监控多个变量的值, 可以这样写: 阅读全文
posted @ 2016-12-17 14:56 桑海 阅读(4349) 评论(0) 推荐(0)

摘要:今天做调整方阵这道题: 第一遍提交没有通过, 又gdb 重新温故了 交换二维数组中的两行数据: 这里需要注意 二维数组中的第一位的数据类型: 注意二维数组中操纵其中第一维是的方法,int (*)[10] 是指向数组的指针, 和他的纬度10。 以及去它中元素地址的方式: & (*a)[i] 阅读全文
posted @ 2016-12-15 14:44 桑海 阅读(362) 评论(0) 推荐(0)