原创 回朔法和遞歸解決八皇后和跳馬問題

八皇后問題、如果在8×8的象棋棋盤上,放上8個皇后,使得每個皇后不在同一行,同一列,同一斜線上,試輸出所有可能的擺放方法。   顯而易見的,用深搜回溯法解決,每一列只能放下一枚皇后棋子,那麼用一個一維數組記錄皇后的位置,然後開始下一列(如

原创 內存區域的劃分(堆棧區、常量區、靜態區)

程序的內存分配  一、一個由C/C++編譯的程序佔用的內存分爲以下幾個部分   1、棧區(stack)    由編譯器自動分配釋放   ,存放函數的參數值,局部變量的值等。其操作方式類似於數據結構中的棧。    2、堆區(hea

原创 多種方式下初始化字符串的過程分析

初始化字符串有多種方式,如下: char a[]="abc"; //初始化方法一:這種情況下實際上規定了字符數組的大小爲4(含結尾的\0) char *p="zxcd"; //初始化方法二:思考爲什麼這樣也可以初始化,p表示的是地址,"z

原创 預編譯的不同形式和辨析整理

  預編譯又稱爲預處理,在代碼編寫的過程中是位於編譯之前的。簡單來說可以認爲是做一些代碼文本的替換工作,我們最常見的一種就是宏定義和#include類型,預編譯過程中處理的是#開頭的指令,最常見的預編譯指令有: 一、#include指令

原创 C++中關於類(封裝、繼承、多態)區別於結構體的理解

我們講C++區別於C,首先要講的就是struct和class之間的區別。對於沒有任何private/public/protected聲明的變量,st

原创 const和static的作用辨析以及const和static的區別

一開始認識的時候,很多人覺得static和const規定的變量是不是都不能改變,所以就無法區分這兩個關鍵詞 首先字面上理解,const是隻讀的意思,static是靜態的,其次const只在變量聲明中使用,而static很重要的一個作用就是

原创 web編程的一些概念

問題一:什麼是前端、什麼是後端?   前端運行的是html/css/javascript,這些代碼是用來給瀏覽器執行和渲染的,這些代碼在本地運行就可以看得到效果。   後端運行的是php/asp/jsp,這些代碼是在服務器端運行的,它們生

原创 printf和cout的區別詳述

  首先看C++中常見的輸出格式: #include<iostream> using namespace std; int main() { cout<<"Hello,World!"; return 0; }  我們在C中學習的標準

原创 三五法則以及行爲像值的類和行爲像指針的類

  首先我們說明有三個基本操作可以控制類的拷貝操作:拷貝構造函數、拷貝賦值運算符(這兩個的區別之前有文章講到)、以及析構函數。   那麼我們什麼時候需要自己構建拷貝構造函數和重載拷貝賦值運算符呢,在三/五法則中給出了自己構建拷貝構造函數和

原创 java中抽象類和接口之間的區別和關係

首先抽象類歸根結底還是屬於類,對於抽象方法,是隻能存在於抽象類中的,我們無法再一個非抽象的類中聲明一個抽象方法,其次抽象方法只需要聲明,並不需要事先。當我們要寫一個抽象類的時候只需要在類的前面聲明爲abstract即可了。同時抽象類是無法

原创 初始化與賦值之間的區別

  由於在內置類型中,初始化和賦值不進行區分並不會造成很大的影響,所以讓我很大程度上忽略了他們的差別。   直到C++primer中對於構造函數提出了一句話,構造函數有一個初始化部分和一個函數體,在一個構造函數中,成員的初始化是在函數體執

原创 從一道題談C++中構造函數調用構造函數

#include <stdlib.h> #include <iostream> using namespace std; struct CLS { int m_i; CLS( int i ) : m_i(i){}

原创 leetcode05題

這題採用動態規劃的思路來進行處理,代碼如下,但是在oj 上提示內存泄漏,代碼貼出來如下 #include"iostream" #include"string"; using namespace std; int max_length =

原创 空懸指針、野指針、內存泄漏、內存溢出

  在C語言中,指針的功能十分強大,這使得在C中程序員對於指針的使用要十分地謹慎。那麼首先我們對於指針的使用就是要對空懸指針(dangling pointer)和野指針進行避免。   首先我們介紹空懸指針,空懸指針指的是一個指針,當它指向

原创 關於leetcode第三題的巧妙解法

  最近在leetcode上刷題,無聊看到第三題,題幹如下:   Longest Substring Without Repeating Characters:   Given a string, find the length of